Django:表单数据不保存

Django : Form data not saving

我有一个 form 用户只需上传图片,但问题是当我选择图片并按下按钮提交时。虽然我已经指出了图像,但它在页面上显示 This field is required.。这就是全部 does.I 检查它是否实际提交但没有,这可能是 not.What 的问题?

Models.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>

非常感谢appreciated.Thank您的帮助!

这里有两个问题。

首先,您的视图需要将 request.FILESrequest.POST 传递给表单。

其次,模板中的表单元素需要包含 enctype="multipart/form-data"