1

我有一个form用户只是上传图像的地方,但问题是当我选择图像并按下按钮提交时。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)

表格.py

from django import forms
from .models import pic

class PicForm(forms.ModelForm):
    class Meta:
        model = pic
        fields = [
            "picpost"
        ]

视图.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>

非常感谢任何帮助。非常感谢!

4

1 回答 1

2

这里有两个问题。

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

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

于 2017-01-17T17:32:35.440 回答