使用下面的代码,当我点击提交“管理窗体数据丢失或被篡改”时,我收到错误.此外,vIEws.py中的代码似乎没有在第三个’if’语句中返回httpResponseRedirect的验证.但是,当我检查我的数据库时,表单中的值已写入.任何关于为什么错误提出的想法?以及如何解决?
我的代码如下:
models.py
#table for diseaseclass disease(models.Model): disease = models.CharFIEld(max_length=300)#tables for Indicatorsclass Indicator(models.Model): relevantdisease = models.ForeignKey(disease) indicator = models.CharFIEld(max_length=300)
forms.py
class diseaseForm(forms.ModelForm): class Meta: model = diseaseclass IndicatorForm(forms.ModelForm): class Meta: model = IndicatordiseaseFormSet = inlineformset_factory(disease,Indicator,can_delete=False,form=diseaseForm)
vIEws.py
def drui(request): if request.method == "POST": indicatorForm = IndicatorForm(request.POST) if indicatorForm.is_valID(): new_indicator = indicatorForm.save() diseaseInlineFormSet = diseaseFormSet(request.POST,request.fileS,instance=new_indicator) if diseaseInlineFormSet.is_valID(): diseaseInlineFormset.save() return httpResponseRedirect('some_url.HTML') else: indicatorForm = IndicatorForm() diseaseInlineFormSet = diseaseFormSet() return render_to_response("drui.HTML",{'indicatorForm': indicatorForm,'diseaseInlineFormSet': diseaseInlineFormSet},context_instance=RequestContext(request))
template.HTML
<form action="{% url drui %}" method="post">{% csrf_token %} {{ indicatorForm.as_table }} <input type="submit" name="submit" value="submit" > </form>解决方法 您的模板中既没有diseaseFormSet也没有formFormSet的管理表单,但是您尝试实例化表单集. Formsets需要隐藏的管理表单,告诉django集合中有多少个表单.
将其插入到HTML中
{{ diseaseFormSet.as_table }} {{ diseaseFormSet.management_form }}总结
以上是内存溢出为你收集整理的html – Django’ManagementForm数据丢失或已经被篡改’当使用外键链接保存modelForms全部内容,希望文章能够帮你解决html – Django’ManagementForm数据丢失或已经被篡改’当使用外键链接保存modelForms所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)