python - Django : Form data not saving

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

我有一个表单,用户只需上传图像,但问题是当我选择图像并按按钮提交时。尽管我已经指出了图像,但页面上显示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/

相关文章:

python - 有没有一种方法可以从大型文本文件中获取 json 数据的一个子集?

python - 定义 `__eq__` 的类型是不可散列的?

python - 标识符中的无效字符-Python

python - 如何按列对数据框进行分组并为每个组接收新列

python - 检查具有纬度和经度的地理点是否在 shapefile 中

python - 绘制时间序列数据

python - 从 View 导入数据后如何将下拉数据分配给字段

django - 如何从 Drupal 移植到 Django?

python - Django 什么时候查找外键的主键?

django - 如何在内存中创建文件(不是上传的文件)并通过 Django default_storage 保存到 FileField?