zoukankan      html  css  js  c++  java
  • Django文件上传

    一、普通上传方式

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6 </head>
     7 <body>
     8 <form action="/upload.html" method="post" enctype="multipart/form-data">
     9     {% csrf_token %}
    10     <p><input type="file" name="uploadFile"></p>
    11     <div style="position: relative">
    12         <a href="#">自定义上传按钮</a>
    13         <input type="submit" value="上传" style="position: absolute;top: 0;left: 0;opacity: 0.2;">
    14     </div>
    15 </form>
    16 </body>
    17 </html>
    HTML
     1 from django.shortcuts import render
     2 from django.shortcuts import redirect
     3 from django.shortcuts import HttpResponse
     4 import os
     5 
     6 # Create your views here.
     7 from django import forms
     8 from django.forms import fields
     9 
    10 class myForm(forms.Form):
    11     uploadFile=fields.FileField(required=True)
    12 
    13 def upload(request):
    14     if request.method=="GET":
    15         return render(request,"upload.html")
    16     else:
    17         uploadFile=request.FILES.get("uploadFile")
    18         f=open(os.path.join('C:/Users/Administrator/PycharmProjects-forWork/Django_upload/static/img',uploadFile.name),"wb")
    19         for i in uploadFile.chunks():
    20             f.write(i)
    21         f.close()
    22         return HttpResponse("上传完成")
    view函数

    二、Form上传方式

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6 </head>
     7 <body>
     8 <form action="/upload.html" method="post" enctype="multipart/form-data">
     9     {% csrf_token %}
    10     <p><input type="file" name="uploadFile"></p>
    11     <div style="position: relative">
    12         <a href="#">自定义上传按钮</a>
    13         <input type="submit" value="上传" style="position: absolute;top: 0;left: 0;opacity: 0.2;">
    14     </div>
    15 </form>
    16 </body>
    17 </html>
    HTML
     1 from django.shortcuts import render
     2 from django.shortcuts import redirect
     3 from django.shortcuts import HttpResponse
     4 import os
     5 
     6 # Create your views here.
     7 from django import forms
     8 from django.forms import fields
     9 
    10 class myForm(forms.Form):
    11     uploadFile=fields.FileField(required=True)
    12 
    13 def upload(request):
    14     if request.method=="GET":
    15         return render(request,"upload.html")
    16     else:
    17         obj=myForm(request.POST,request.FILES)
    18         if obj.is_valid():
    19             uploadFile=obj.cleaned_data["uploadFile"]
    20             f=open(os.path.join('C:/Users/Administrator/PycharmProjects-forWork/Django_upload/static/img',uploadFile.name),"wb")
    21             for i in uploadFile.chunks():
    22                 f.write(i)
    23             f.close()
    24             return HttpResponse("上传完成")
    25         else:
    26             return HttpResponse("上传失败")
    view函数
  • 相关阅读:
    qt鼠标事件总结(坐标,跟踪,点击判断)
    从零开始学C++之RTTI、dynamic_cast、typeid、类与类之间的关系uml
    前端篇: 前端演进史
    找一款防文件或文件夹误删除,移动,修改的软件
    yyyy
    盘点我用过的那些网盘(那些年,我们一起玩的网盘)
    Win8/8.1/10获得完整管理员权限的方法
    [置顶] IT老男人读《因为痛,所以叫青春》
    dddd
    用JUNCTION映射文件夹内容 解决多系统跑同一个虚拟机而共享文件夹路径不同的问题
  • 原文地址:https://www.cnblogs.com/sun-10387834/p/12490157.html
Copyright © 2011-2022 走看看