Python Django:表单数据未保存

Python Django:表单数据未保存,python,django,python-3.x,django-forms,django-1.10,Python,Django,Python 3.x,Django Forms,Django 1.10,我有一个表单,用户刚刚上传了一张图片,但问题是当我选择一张图片并按下按钮提交时。它说这个字段是必需的。在页面上,尽管我已经指出了图像。这就是它所做的。我检查了它是否真的被提交了,但没有。有什么问题吗 型号.py class pic(models.Model): username = "anonymous" picpost = models.ImageField(upload_to='anon_pics') creation_date = models.DateTimeFi

我有一个
表单
,用户刚刚上传了一张图片,但问题是当我选择一张图片并按下按钮提交时。它说
这个字段是必需的。
在页面上,尽管我已经指出了图像。这就是它所做的。我检查了它是否真的被提交了,但没有。有什么问题吗

型号.py

class pic(models.Model):
    username = "anonymous"
    picpost = models.ImageField(upload_to='anon_pics')
    creation_date = models.DateTimeField(auto_now_add=True)
from django import forms
from .models import pic

class PicForm(forms.ModelForm):
    class Meta:
        model = pic
        fields = [
            "picpost"
        ]
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)
forms.py

class pic(models.Model):
    username = "anonymous"
    picpost = models.ImageField(upload_to='anon_pics')
    creation_date = models.DateTimeField(auto_now_add=True)
from django import forms
from .models import pic

class PicForm(forms.ModelForm):
    class Meta:
        model = pic
        fields = [
            "picpost"
        ]
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)
view.py

class pic(models.Model):
    username = "anonymous"
    picpost = models.ImageField(upload_to='anon_pics')
    creation_date = models.DateTimeField(auto_now_add=True)
from django import forms
from .models import pic

class PicForm(forms.ModelForm):
    class Meta:
        model = pic
        fields = [
            "picpost"
        ]
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)
创建图片html

<body>
    <form method='POST' action=''>{% csrf_token %}
        {{ form.as_p }}
        <input type='submit' value='Upload Picture' />
    </form>
</body>

{%csrf_令牌%}
{{form.as_p}}

非常感谢您的帮助,非常感谢

这里有两个问题

首先,视图需要将
request.FILES
以及
request.POST
传递到表单


其次,模板中的表单元素需要包括
enctype=“multipart/form data”

它起作用了!非常感谢你
form=PicForm(request.POST、request.FILES或None)
对吗?