任务描述:实现表单提交(上传文件)
1.项目目录:
2.源代码:
regist.html
<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>regist</title></head><body><h3>regist</h3><hr><form method="post" enctype="multipart/form-data"> ???{% csrf_token %} ???{{uf.as_p}} ???<input type="submit" value="submit"></form></body></html>
views.py
from django.shortcuts import renderfrom django import forms# Create your views here.class UserForm(forms.Form):username = forms.CharField(max_length=100)headimg = forms.FileField()def regist(request):context = {}if request.method == ‘POST‘:uf = UserForm(request.POST, request.FILES)if uf.is_valid():username = uf.cleaned_data[‘username‘]headimg = uf.cleaned_data[‘headimg‘]print(username, headimg)# save headimgfp = open(‘upload/‘ + headimg.name, ‘wb‘)s = headimg.read()fp.write(s)fp.close()return render(request, ‘regist_ok.html‘, context)else:uf = UserForm()context = {‘uf‘: uf}return render(request, ‘regist.html‘, context)
urls.py
from django.conf.urls import urlfrom django.contrib import adminfrom user import viewsurlpatterns = [url(r‘^admin/‘, admin.site.urls),url(r‘user/regist/‘, views.regist),]
3.运行测试
Django表单上传
原文地址:http://www.cnblogs.com/jasonhaven/p/7487366.html