在使用python这个编程语言来开发web网页应用程序时,经常会使用到Django框架或者是Flask框架,而该程序开发文件上传功能都是必不可少的。下面文章会来介绍一下,该怎么使用django框架来上传文件到指定服务器,想学习的话就继续往下看看吧。
一、配置文件
django框架很多功能都是需要通过配置文件才可以实现的,那么上传文件就是需要打开settings.py文件。然后在其中去添加一个新的属性,代码示例如下所示:
UPLOAD_ROOT = os.path.join(BASE_DIR,'upload')
二、前端页面
那么前端页面需要写在view文件夹之中,并且它配置的路由需要是‘/upload’。那么这个前端页面要使用表单结构,然后在表单之中定义type等于file的标签出来,点击该按钮就可以调出文件资源管理器选择文件。然后再定义submit提交按钮,这样就可以在将其上传到指定服务器上,示例如下:
{% extends 'base.html' %} {% block content %} <body> <form id="form" enctype="multipart/form-data" action="/upload/" method="post"> <p><input type="file" name="file"></p> <input type="submit" name="提交"> </form> </body> {% endblock %}
上面代码示例中form标签里面action属性内容就是表单提交服务器,而前面的内容则表示可以上传文件到服务器。
三、后台逻辑处理
那么这个后台逻辑处理则是需要新建一个py文件来写才可以,该文件中使用get()方法就可以获取到上传的文件内容。然后再去创建一个文件夹出来,再循环迭代该文件将其以二进制流形式将数据保存起来,详细代码如下所示:
@csrf_exempt def upload(request): file = request.FILES.get('file') logger.log().info('uplaod:%s'% file) if not os.path.exists(settings.UPLOAD_ROOT): os.makedirs(settings.UPLOAD_ROOT) try: if file is None: return HttpResponse('上传的文件') with open(settings.UPLOAD_ROOT + "/" + file.name, 'wb') as f: for i in file.readlines(): f.write(i) except Exception as e: return HttpResponse(e) return HttpResponse('上传成功')
以上就是关于“Django上传文件到指定服务器怎么做?Django框架如何上传文件”的全部内容了,希望对你有所帮助。