关键词:
【中文标题】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.... 查看详情