python django搭建文件下载服务器的实现shili-mile米乐体育

这篇文章主要介绍python django搭建文件下载服务器的实现shili ,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

环境

  • win10

  • python:3.6.7

  • django:2.2.7

运行效果

1、创建 django 项目

#创建download项目 django-adminstartprojectdownload #创建down_appapp pythonmanage.pystartappdown_app

2、修改配置文件:settings.py

download/download/settings.py

1.添加注册app:down_app

2.设置模板文件路径:templates

3、编写视图函数:views.py

download/down_app/views.py

importos fromdjango.httpimporthttpresponse fromdjango.httpimportstreaminghttpresponse   defimage_down(request): """ 下载图片 """ img_name=request.get.get("username") ".png"#二维码图片名 base_dir=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))#项目根目录 file_path=os.path.join(base_dir,'antirisk/codegenerate/image/code',img_name)#二维码的绝对路径  ifnotos.path.isfile(file_path):#判断下载文件是否存在 returnhttpresponse("sorrybutnotfoundthefile")  deffile_iterator(file_path,chunk_size=512): """ 文件生成器,防止文件过大,导致内存溢出 :paramfile_path:文件绝对路径 :paramchunk_size:块大小 :return:生成器 """ withopen(file_path,mode='rb')asf: whiletrue: c=f.read(chunk_size) ifc: yieldc else: break  try: #设置响应头 #streaminghttpresponse将文件内容进行流式传输,数据量大可以用这个方法 response=streaminghttpresponse(file_iterator(file_path)) #以流的形式下载文件,这样可以实现任意格式的文件下载 response['content-type']='application/octet-stream' #content-disposition就是当用户想把请求所得的内容存为一个文件的时候提供一个默认的文件名 response['content-disposition']=f'attachment;filename="1.png"'#文件名不可设置为中文 except: returnhttpresponse("sorrybutnotfoundthefile")  returnresponse

4、修改路由配置:urls.py

download/download/urls.py

fromdjango.contribimportadmin fromdjango.urlsimportpath,re_path fromdown_appimportviews  urlpatterns=[ path('admin/',admin.site.urls), path('',views.index), re_path('download/)',views.image_down,name="download"), ]

5、创建并编写:index.html

download/templates/index.html

    title   下载图片  

运行

#运行项目 pythonmanage.pyrunserver

# 访问: http://127.0.0.1:8000/

以上是“python django搭建文件下载服务器的实现shili ”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注恰卡编程网行业资讯频道!

展开全文
内容来源于互联网和用户投稿,文章中一旦含有米乐app官网登录的联系方式务必识别真假,本站仅做信息展示不承担任何相关责任,如有侵权或涉及法律问题请联系米乐app官网登录删除

最新文章

网站地图