Python Django框架单元测试之文件上传测试示例
程序员文章站
2023-11-30 21:34:34
本文实例讲述了python django框架单元测试之文件上传测试。分享给大家供大家参考,具体如下:
submitting files is a special case...
本文实例讲述了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程序设计有所帮助。
上一篇: 目录,文件操作详谈—PHP
下一篇: xajax写的留言本
推荐阅读
-
Python Django框架单元测试之文件上传测试示例
-
Python Django框架单元测试之文件上传测试示例
-
对Python的Django框架中的项目进行单元测试的方法
-
细说python单元测试框架之unittest之补充
-
对Python的Django框架中的项目进行单元测试的方法
-
对Python的Django框架中的项目进行单元测试的方法
-
对Python的Django框架中的项目进行单元测试的方法
-
细说python单元测试框架之unittest之补充
-
Web框架之Django_03 路由层了解(路有层 无名分组、有名分组、反向解析、路由分发 视图层 JsonResponse,FBV、CBV、文件上传)