为什么我从 Django imageField 收到“此字段为必填”错误?

问题描述 投票:0回答:1

我对 Django 的图像字段有问题。它说图像字段为空,即使我选择了图像 这是我的 models.py:

from django.db import models

class Post(models.Model):
    picture = models.ImageField(upload_to="uploads")

这是我的forms.py:

from django import forms
from django.forms import ModelForm
from .models import Post

class PostForm(ModelForm):
    class Meta:
        model = Post
        fields = '__all__'

这是我的观点.py:

from django.shortcuts import render, redirect
from .forms import PostForm

def postsite(request):
    form = PostForm()
    if request.method == 'POST':
        form = PostForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
        else:
            print(form.errors)
        return redirect('post')

    context = {'form':form}
    return render(request, 'post.html', context)

这是我的post.html:

    <form action="" method="POST" enctyppe="multipart/form-data">
        {% csrf_token %}
        {{form.as_p}}
        <input type="submit" value="Submit Post">
    </form>

在我为 imageField 选择图像并提交表单后,此代码

print(form.errors)
的输出是:

<ul class="errorlist"><li>picture<ul class="errorlist"><li>This field is required.</li></ul></li></ul>

由于有关此错误的其他讨论,我尝试将其添加到我的表单中:

 enctyppe="multipart/form-data"

但是,错误仍然存在。

python django django-models django-forms
1个回答
0
投票

您的表单操作中有拼写错误

enctyppe=

<form action="" method="POST" enctyppe="multipart/form-data">

应该是:

<form action="" method="POST" enctype="multipart/form-data">
© www.soinside.com 2019 - 2024. All rights reserved.