香港云主机最佳企业级服务商!

ADSL拨号VPS包含了中国大陆(联通,移动,电信,)

中国香港,国外拨号VPS。

当前位置:云主机 > python >

电信ADSL拨号VPS
联通ADSL拨号VPS
移动ADSL拨号VPS

Python Django框架单元测试之文件上传测试示例


时间:2022-04-02 10:36 作者:admin610456


本文实例讲述了python/' target='_blank'>python Django框架单元测试之文件上传测试。分享给大家供大家参考,具体如下:

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})

测试文件上传其实没有什么特殊的,只需要指定后端接受请求数据的对应键值即可

(The name avatar here is not relevant; use whatever name your file-processing code expects.)在这里avatar是关联的,对应着具体的后端处理程序代码,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})

希望本文所述对大家基于Django框架的Python程序设计有所帮助。

(责任编辑:admin)






帮助中心
会员注册
找回密码
新闻中心
快捷通道
域名登录面板
虚机登录面板
云主机登录面板
关于我们
关于我们
联系我们
联系方式

售前咨询:17830004266(重庆移动)

企业QQ:383546523

《中华人民共和国工业和信息化部》 编号:ICP备00012341号

Copyright © 2002 -2018 香港云主机 版权所有
声明:香港云主机品牌标志、品牌吉祥物均已注册商标,版权所有,窃用必究

云官方微信

在线客服

  • 企业QQ: 点击这里给我发消息
  • 技术支持:383546523

  • 公司总台电话:17830004266(重庆移动)
  • 售前咨询热线:17830004266(重庆移动)