我有一个表单
,用户只需上传图像,但问题是当我选择图像并按按钮提交时。尽管我已经指出了图像,但页面上显示This field is required.
。这就是它所做的一切。我检查了它是否确实已提交,但没有,它没有。可能是什么问题?
模型.py
class pic(models.Model):
username = "anonymous"
picpost = models.ImageField(upload_to='anon_pics')
creation_date = models.DateTimeField(auto_now_add=True)
forms.py
from django import forms
from .models import pic
class PicForm(forms.ModelForm):
class Meta:
model = pic
fields = [
"picpost"
]
view.py
def pic_create(request):
form = PicForm(request.POST or None)
if form.is_valid():
instance = form.save(commit=False)
instance.save()
context = {
"form" : form,
}
return render(request, "create_pic.html", context)
create_pic.html
<body>
<form method='POST' action=''>{% csrf_token %}
{{ form.as_p }}
<input type='submit' value='Upload Picture' />
</form>
</body>
非常感谢任何帮助。非常感谢!
最佳答案
这里有两个问题。
首先,您的 View 需要将 request.FILES
以及 request.POST
传递给表单。
其次,模板中的表单元素需要包含 enctype="multipart/form-data"
。
关于python - Django : Form data not saving,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41703372/