Django中的ModelForm无法接收数据

     2023-02-24     280

关键词:

【中文标题】Django中的ModelForm无法接收数据【英文标题】:ModelForm in Django fails to receive data 【发布时间】:2016-11-15 20:20:58 【问题描述】:

我有一个 ModelForm,所有字段都是我想要的。当我在 HTML 中呈现此表单时,我提供了这些字段中所需的所有数据,我单击提交,但我的表单在 is_valid 验证时失败,当我打印错误时,每个输入都返回以下错误:“此字段是必需的。”

这里的问题是我为每个字段提供数据,但似乎 Django 出于某种原因没有读取它们。

查看

if request.POST:
        addressForm = AddressForm(request.POST, prefix="AddressForm")
        if addressForm.is_valid():
            return HttpResponseRedirect('/thanks/')
        print(addressForm.errors)

addressForm = AddressForm()
return render(request, 'index.html', 'addressForm':addressForm)

表格

class AddressForm(forms.ModelForm):
    class Meta:
        model = Address
        fields = ['AddressLine', 'StreetNumber', 'Country', 'City', 'PostalCode']

    def __init__(self, *args, **kwargs):
        super(AddressForm, self).__init__(*args, **kwargs)
        self.fields['AddressLine'].widget.attrs.update('class' : 'form-control')
        self.fields['StreetNumber'].widget.attrs.update('class': 'form-control')
        self.fields['Country'].widget.attrs.update('class': 'form-control')
        self.fields['City'].widget.attrs.update('class': 'form-control')
        self.fields['PostalCode'].widget.attrs.update('class': 'form-control')

型号

class Address(models.Model):
    AddressLine = models.CharField(max_length=100, blank=False)
    StreetNumber = models.CharField(max_length=100, blank=False, default=0)
    Country = models.ForeignKey(Country, blank=False)
    City = models.CharField(max_length=100, blank=False)
    PostalCode = models.CharField(max_length=10, blank=False)

HTML

<div class="row">
    <div class="form-group col-md-2">
         addressForm.StreetNumber 
    </div>
    <div class="form-group col-md-10">
         addressForm.AddressLine 
    </div>
</div>

<div class="row">
    <div class="form-group col-md-4">
         addressForm.Country 
    </div>
    <div class="form-group col-md-4">
         addressForm.City 
    </div>
    <div class="form-group col-md-4">
         addressForm.PostalCode 
    </div>
</div>

正如我所说的错误是:

<ul class="errorlist">
  <li>AddressLine
     <ul class="errorlist">
        <li>This field is required.</li>
     </ul>
  </li>
  <li>City
     <ul class="errorlist">
        <li>This field is required.</li>
     </ul>
  </li>
  <li>Country
     <ul class="errorlist">
        <li>This field is required.</li>
     </ul>
  </li>
  <li>PostalCode
     <ul class="errorlist">
        <li>This field is required.</li>
     </ul>
  </li>
  <li>StreetNumber
     <ul class="errorlist">
        <li>This field is required.</li>
     </ul>
  </li>
</ul>

【问题讨论】:

【参考方案1】:

出于某种原因,您在 POST 块中的表单上设置了前缀,但在 GET 情况下没有。因此,这些字段是在没有前缀的情况下呈现的,但在提交时,表单正在寻找带有前缀的字段。

这里似乎没有任何理由使用前缀;删除它。

【讨论】:

谢谢丹,这就是问题所在!

如何使用 Ajax 在 Django 中更新 modelForm

】如何使用Ajax在Django中更新modelForm【英文标题】:HowtoupdateamodelForminDjangowithAjax【发布时间】:2015-12-2216:46:11【问题描述】:我想用Ajax更新一个模板。我的问题是:我在表单的列表中选择了一个客户,然后在第二个列表中的同一... 查看详情

django中的form和modelform中的问题

django的Form组件中,如果字段中包含choices参数,请使用两种方式实现数据源实时更新方法一:重写构造方法,在构造方法中重新去获取值classUserForm(forms.Form):name=fields.CharField(label=‘用户名‘,max_length=32)email=fields.EmailField(label=‘邮箱‘)u_... 查看详情

Django Imagefield 无法通过 ModelForm 正常工作

】DjangoImagefield无法通过ModelForm正常工作【英文标题】:DjangoImagefieldnotworkingproperlyviaModelForm【发布时间】:2010-10-1509:52:15【问题描述】:我确定我在做一些很明显很愚蠢的事情,但我已经尝试了几个小时了,但没有任何反应。我... 查看详情

Django中的ModelForm没有显示

】Django中的ModelForm没有显示【英文标题】:ModelForminDjangonotshowing【发布时间】:2021-07-0611:25:18【问题描述】:我正在尝试在django中显示一个基本表单,但一旦我运行服务器就不会呈现该表单,如果您能帮助我解决这些问题,我将... 查看详情

如何过滤 Django ModelForm 中的 ManyToManyField 选项?

】如何过滤DjangoModelForm中的ManyToManyField选项?【英文标题】:HowdoIfilterManyToManyFieldchoicesinaDjangoModelForm?【发布时间】:2012-04-2916:52:44【问题描述】:我想在我的ModelForm中过滤ManyToManyField选项:classMyForm(forms.ModelForm):classMeta:model=Enti... 查看详情

Django CheckboxSelectMultiple 覆盖 ModelForm 中的“选择”

】DjangoCheckboxSelectMultiple覆盖ModelForm中的“选择”【英文标题】:DjangoCheckboxSelectMultipleoverride\'choices\'fromModelForm【发布时间】:2012-01-3108:53:08【问题描述】:我希望能够在我的django表单中提取不同的信息:这是我的表格:<formact... 查看详情

Django modelForm 中的文件上传

】DjangomodelForm中的文件上传【英文标题】:FileUploadinDjangomodelForm【发布时间】:2013-06-2416:34:51【问题描述】:我正在尝试在appengine-django中上传文档。使用纯django代码[使用pythonmanage.pyrunsever]成功上传文档。但是当我试图用appengine... 查看详情

禁用 Django ModelForm 中的空选项

】禁用DjangoModelForm中的空选项【英文标题】:DisabletheemptyoptioninDjangoModelForm【发布时间】:2011-05-3006:09:07【问题描述】:我在ModelForm子类中使用widget=forms.CheckboxSelectMultiple将字段显示更改为复选框。选项确实变成了复选框,但Djang... 查看详情

Django ModelForm 向导 - 如何创建数据库对象?

】DjangoModelForm向导-如何创建数据库对象?【英文标题】:DjangoModelFormWizard-Howtocreatethedatabaseobject?【发布时间】:2010-12-2112:34:27【问题描述】:我有一个足够大的模型,可以切成3种形式。我想使用FormWizzard来做到这一点,我想知... 查看详情

我的 Django ModelForm 是未绑定的吗?

】我的DjangoModelForm是未绑定的吗?【英文标题】:IsmyDjangoModelFormunbound?【发布时间】:2018-09-1502:17:33【问题描述】:在过去的几天里,我一直在与CreateView和相应的ModelForm作斗争:我无法获取表单来处理发布的数据并保存对象。... 查看详情

为啥我无法保存 Django ModelForm 博客的编辑?

】为啥我无法保存DjangoModelForm博客的编辑?【英文标题】:WhyIcan\'tsavetheeditofaDjangoModelFormblog?为什么我无法保存DjangoModelForm博客的编辑?【发布时间】:2019-09-1803:41:21【问题描述】:我正在上PythonCrashCourseEx。19-1:博客,我现在... 查看详情

Django ModelForm 不保存数据

】DjangoModelForm不保存数据【英文标题】:DjangoModelFormnotsavingdata【发布时间】:2014-05-1521:44:06【问题描述】:我尝试了以下帖子的解决方案:SavingdatafromModelForm:没用ModelFormdatanotsavingdjango:没用。我正在尝试将数据从ModelForm保存... 查看详情

django中的modelform和modelfoemset(代码片段)

一.ModelForm  ModelForm是根据Model来定制的Form二.ModelForm的创建fromdjangoimportformsfromappimportmodelsclassMyModelForm(forms.ModelForm):classMeta:model=models.Bookfields="__all__"    labels=        "title":"书名",        "price":"价格" ... 查看详情

Django 根据 ModelForm 中的 ChoiceField 选择填充多对多

】Django根据ModelForm中的ChoiceField选择填充多对多【英文标题】:DjangoPopulateManyToManyaccordingtoaChoiceFieldselectionwithinaModelForm【发布时间】:2014-05-2703:03:50【问题描述】:我有一个具有ManyToMany关系的类,我想用它来为应用创建控制面板... 查看详情

Django:使用小部件来限制 ModelForm 中的选择

】Django:使用小部件来限制ModelForm中的选择【英文标题】:Django:UsewidgettolimitchoicesinaModelForm【发布时间】:2012-07-1103:37:44【问题描述】:我的模型表单继承自子系统表单。我想限制表单中用户的选择。(特别是名字)我知道我必... 查看详情

具有 ForeignKey 字段的模型的 Django ModelForm 无法正确显示 selectBox

】具有ForeignKey字段的模型的DjangoModelForm无法正确显示selectBox【英文标题】:DjangoModelFormwithmodelhavingForeignKeyfielddoesnotdisplayselectBoxcorrectly【发布时间】:2018-07-1403:22:25【问题描述】:这可能很容易解决。我创建了一个使用forms.ModelF... 查看详情

用 Crispy Forms 中的 Div 包装 Django ModelForm

】用CrispyForms中的Div包装DjangoModelForm【英文标题】:WrappingaDjangoModelFormwithaDivinCrispyForms【发布时间】:2017-05-2612:03:08【问题描述】:我有以下表格:classCreateAssignedTestForm(forms.ModelForm):classMeta:model=AssignedTestfields=[\'due_date\'] 查看详情

如何过滤 Django ModelForm 中的 ForeignKey 选择?

】如何过滤DjangoModelForm中的ForeignKey选择?【英文标题】:HowdoIfilterForeignKeychoicesinaDjangoModelForm?【发布时间】:2010-09-2211:02:07【问题描述】:假设我的models.py中有以下内容:classCompany(models.Model):name=...classRate(models.Model):company=models.... 查看详情