上传图片和文件时,模板中form一定加enctype="multipart/form-data“属性。
同时视图中别忘了加request.FILES,如form =UploadForm(request.POST, request.FILES)。
使用POST的方法时,在前端必须添加{% csrf_token %}标签,用于处理csrf安全机制。
上传文件的函数前要加上@csrf_exempt装饰器,不然报错
from django.views.decorators.csrf import csrf_exempt
如果在forms.py里通过clean方法自定义表单验证,那么视图中请用form.cleaned_data.get('field_name')获取验证过的数据,而不是直接使用request.POST['fileld_name']获取表单提取来的数据, 否则表单不会进行验证,那么clean方法也白定义了。
网友评论