一、文件上传
1. 浏览器访问
http://127.0.0.1:8000/f1/
http://127.0.0.1:8000/f2/
2. urls
from django.conf.urls import url from django.contrib import admin from app01 import views urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^f1/', views.f1), url(r'^f2/', views.f2), ]
3. views
1 from django.shortcuts import render,redirect,HttpResponse 2 from app01 import models 3 from django.forms import Form 4 from django.forms import fields 5 from django.forms import widgets 6 7 8 # **************************文件上传************************** 9 def f1(request): 10 if request.method == "GET": 11 return render(request,'f1.html') 12 else: 13 import os 14 # request.POST 15 file_obj = request.FILES.get('fafafa') 16 f = open(os.path.join('static',file_obj.name),'wb') 17 for chunk in file_obj.chunks(): 18 f.write(chunk) 19 f.close() 20 # return render(request,'f1.html') # 上传成功后刷新当前页面 21 return HttpResponse('上传成功') # 上传完成后显示文字 22 23 class F2Form(Form): 24 user = fields.CharField() 25 fafafa = fields.FileField() 26 27 def f2(request): 28 if request.method == "GET": 29 obj = F2Form() 30 return render(request,'f2.html',{'obj':obj}) 31 else: 32 obj = F2Form(data=request.POST,files=request.FILES) 33 if obj.is_valid(): 34 print(obj.cleaned_data.get('fafafa').name) 35 print(obj.cleaned_data.get('fafafa').size) 36 return render(request,'f2.html',{'obj':obj})