【问题标题】:Django : Form data not savingDjango:表单数据不保存
【发布时间】:2017-06-01 21:13:25
【问题描述】:

我有一个form,用户只是上传了一张图片,但问题是当我选择一张图片并按下按钮提交时。尽管我已经指出了图像,但它在页面上显示This field is required.。就是这样。我检查了它是否真的提交了,但没有,不是。可能是什么问题?

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>

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

【问题讨论】:

    标签: python django python-3.x django-forms django-1.10


    【解决方案1】:

    这里有两个问题。

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

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

    【讨论】:

    • 成功了!太感谢了! form = PicForm(request.POST,request.FILES or None) 对吗?
    猜你喜欢
    • 1970-01-01
    • 2022-01-25
    • 2021-01-27
    • 2019-01-22
    • 2015-12-02
    • 1970-01-01
    • 2018-09-12
    • 2022-10-23
    • 2014-05-19
    相关资源
    最近更新 更多