django文件上传
定义一个包含FileFiled的类ModelWithFileField,其中upload字段的upload_to参数表示上传的文件存放在什么地方
class ModelWithFileField(models.Model):
filename = models.CharField(max_length=100, verbose_name="文件名称")
upload_date = models.DateField(verbose_name='上传日期')
upload = models.FileField(upload_to='UPLOADFILES/')
定义一个form用于上传文件,form字段为FileField
class UploadFileForm(forms.Form):
file = forms.FileField(label="选择文件")
定义一个view上传文件视图,首先实例form,返还给页面,选择一个文件,如果form判断有效则实例一个ModelWithFileField,分别保持文件和数据库
def upload_file(request):
if request.method == "POST":
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid