>>c=Client()>>>withopen('test.jpg')asfp" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python Django框架單元測(cè)試之文件上傳測(cè)試示例

系統(tǒng) 1908 0

本文實(shí)例講述了Python Django框架單元測(cè)試之文件上傳測(cè)試。分享給大家供大家參考,具體如下:

Submitting files is a special case. To POST a file, you need only provide the file field name as a key, and a file handle to the file you wish to upload as a value. For example:

            
>>> c = Client()
>>> with open('test.jpg') as fp:
...   c.post('/account/avatar_upload/',{'avatar':fp})


          

測(cè)試文件上傳其實(shí)沒有什么特殊的,只需要指定后端接受請(qǐng)求數(shù)據(jù)的對(duì)應(yīng)鍵值即可

(The name avatar here is not relevant; use whatever name your file-processing code expects.)在這里avatar是關(guān)聯(lián)的,對(duì)應(yīng)著具體的后端處理程序代碼,eg:

            
class Useravatar(View):
  def __init__(self):
    self.thumbnail_dir = os.path.join(STATIC_ROOT, 'avatar/thumbnails')
    self.dest_dir = os.path.join(STATIC_ROOT, 'avatar/origin_imgs')
  @method_decorator(login_required)
  def post(self, request):
    nt_id = request.session.get('user_id', 'default')
    user = User.objects.get(pk=nt_id) if User.objects.filter(pk=nt_id).exists() else None
    avatarImg = request.FILES['avatar']
    if not os.path.exists(self.dest_dir):
      os.mkdir(self.dest_dir)
    dest = os.path.join(self.dest_dir, nt_id+"_avatar.jpg")
    with open(dest, "wb+") as destination:
      for chunk in avatarImg.chunks():
        destination.write(chunk)
    if make_thumb(dest,self.thumbnail_dir):
      avartaPath = os.path.join(STATIC_URL, 'avatar/thumbnails', nt_id + "_avatar.jpg")
    else:
      avartaPath = os.path.join(STATIC_URL, 'avatar/origin_imgs', nt_id + "_avatar.jpg")
    User.objects.filter(nt_id=nt_id).update(avatar=avartaPath)
    return render(request, 'profile.html', {'user': user})


          

Python Django框架單元測(cè)試之文件上傳測(cè)試示例_第1張圖片

希望本文所述對(duì)大家基于Django框架的Python程序設(shè)計(jì)有所幫助。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 大洼县| 封开县| 樟树市| 公安县| 会宁县| 宝应县| 临沂市| 大埔县| 尚志市| 新乡县| 修水县| 邯郸市| 隆子县| 光泽县| 定襄县| 类乌齐县| 沙坪坝区| 武宁县| 临朐县| 贵南县| 乐安县| 得荣县| 无锡市| 长葛市| 怀化市| 威信县| 玛纳斯县| 正定县| 潍坊市| 东阿县| 芜湖市| 铜山县| 清河县| 子长县| 汉中市| 仪征市| 碌曲县| 改则县| 友谊县| 开远市| 蚌埠市|