必须是简单的解决方案。但我看不出来。请帮帮我。“gorod”似乎在请求中,但当我尝试cleaned_data()时,它会给我KeyError
KeyError at /ticket/
'gorod'
Request Method: POST
Request URL: http://localhost:8000/ticket/
Exception Type: KeyError
Exception Value:
'gorod'
Exception Location: C:\Documents and Settings\POLINOM\web\website\orders\views.py in SaveOrder2, line 93
Python Executable: C:\Python26\python.exe
Python Version: 2.6.5
Traceback:
File "C:\Python26\lib\site-packages\django\core\handlers\base.py" in get_response
92. response = callback(request, *callback_args, **callback_kwargs)
File "C:\Documents and Settings\POLINOM\web\website\orders\views.py" in ticket
136. adr_form=MakeForm2(request)
File "C:\Documents and Settings\POLINOM\web\website\orders\views.py" in MakeForm2
58. SaveOrder2(request,form)
File "C:\Documents and Settings\POLINOM\web\website\orders\views.py" in SaveOrder2
95. gorod=form.cleaned_data['gorod']
Exception Type: KeyError at /ticket/
Exception Value: 'gorod'
我的表格:
^{pr2}$这是从以下形式继承而来的:
class AddressForm(forms.Form):
address = forms.CharField(label=u"Адрес",max_length=200,required=True,widget=forms.TextInput(attrs={'size':60}))
city = forms.CharField(label=u"Город",max_length=50,required=True)
country = forms.ChoiceField(label=u"Страна",required=True,choices=COUNTRIES)
state = forms.ChoiceField(label=u"Штат/Провинция",required=False, choices=StateProvince().get_all_states(), error_messages={'invalid_choice':u'нет среди допустимых значений. Пожалуйста, выберите правильный вариант'})
zip = forms.CharField(label=u"Почтовый код",max_length=10,widget=forms.TextInput(attrs={'size':8}),required=True)
phone_number = forms.CharField(label=u"Номер телефона",required=False)
我正在使用两种模型:
class Order(models.Model):
STATUS_CHOICES=[
(1, 'Send'),
(0, 'Not_send'),
]
user=models.ForeignKey(User)
product=models.ForeignKey(Product)
status = models.CharField(max_length=1,choices=STATUS_CHOICES)
country = models.CharField(max_length=2)
state = models.CharField(max_length=50)
zip = models.CharField(max_length=10)
city = models.CharField(max_length=50)
street = models.CharField(max_length=200)
phone=models.CharField(max_length=20)
def __unicode__(self):
return 'Order by ' + self.user
class TicketProp(models.Model):
order=models.ForeignKey(Order)
note=models.CharField(max_length=1500)
gorod=models.CharField(max_length=2)
可能您的
AddressForm
类缺少gorod
字段?表单填充.cleaned_data
属性(后面没有()
!-)基于表单中的字段;例如,在the source中,对于当前的django.forms
,您将在第274行看到在循环的主体中,
.cleaned_data
dict被填充。在那么你的
AddressForm
代码是什么(以及它可能使用的模型的代码)。。。?在相关问题 更多 >
编程相关推荐