Django:ChoiceField不返回选项
我在尝试获取一个简单的选择字段以将其选项返回到应用程序中的html页面时遇到了一个问题。我一直在看一些其他的问题和一些在线教程,但似乎不能得到它的权利 我当前的代码没有返回下拉列表,它只返回submit按钮 最理想的情况是,我希望返回下拉列表中的国家,并选择将其作为必填字段 我可以使用模型返回类似的视图。模型使用这种方法,但似乎无法从表单中获取ChoiceField。表单工作 非常感谢您的帮助,谢谢 型号.pyDjango:ChoiceField不返回选项,django,django-forms,forms,Django,Django Forms,Forms,我在尝试获取一个简单的选择字段以将其选项返回到应用程序中的html页面时遇到了一个问题。我一直在看一些其他的问题和一些在线教程,但似乎不能得到它的权利 我当前的代码没有返回下拉列表,它只返回submit按钮 最理想的情况是,我希望返回下拉列表中的国家,并选择将其作为必填字段 我可以使用模型返回类似的视图。模型使用这种方法,但似乎无法从表单中获取ChoiceField。表单工作 非常感谢您的帮助,谢谢 型号.py from django import forms class CountryCho
from django import forms
class CountryChoiceTwo(forms.Form):
IRELAND = 'IR'
ENGLAND = 'EN'
FRANCE = 'FR'
SCOTLAND = 'SC'
WALES = 'WA'
ITALY = 'IT'
COUNTRY = (
(IRELAND, "Ireland"),
(ENGLAND, "England"),
(FRANCE, "France"),
(SCOTLAND, "Scotland"),
(WALES, "Wales"),
(ITALY, "Italy"),
)
origin = forms.ChoiceField(widget=forms.Select(), choices=COUNTRY, initial= IRELAND)
def __unicode__(self):
return self.origin
from books.models import CountryChoiceTwo
def ContactForm(request):
form = CountryChoiceTwo(initial={'origin':COUNTRY[1]})
return render(request, 'country_choice.html', {'form': form} )
视图.py
from django import forms
class CountryChoiceTwo(forms.Form):
IRELAND = 'IR'
ENGLAND = 'EN'
FRANCE = 'FR'
SCOTLAND = 'SC'
WALES = 'WA'
ITALY = 'IT'
COUNTRY = (
(IRELAND, "Ireland"),
(ENGLAND, "England"),
(FRANCE, "France"),
(SCOTLAND, "Scotland"),
(WALES, "Wales"),
(ITALY, "Italy"),
)
origin = forms.ChoiceField(widget=forms.Select(), choices=COUNTRY, initial= IRELAND)
def __unicode__(self):
return self.origin
from books.models import CountryChoiceTwo
def ContactForm(request):
form = CountryChoiceTwo(initial={'origin':COUNTRY[1]})
return render(request, 'country_choice.html', {'form': form} )
country\u choices.html
<h2>What country are you from?</h2>
<form action="" method="post">
{% csrf_token %}
{{form.as_p}}
<input type="submit" value="Vote" />
</form>
您来自哪个国家?
{%csrf_令牌%}
{{form.as_p}}
查看功能的范围中未定义国家/地区
您可以通过在表单前面加上类名来引用国家/地区
:
def ContactForm(request):
form = CountryChoiceTwo(initial={'origin': CountryChoiceTwo.COUNTRY[1]})
return render(request, 'country_choice.html', {'form': form} )
当你说返回时,你的意思是下拉列表没有出现在呈现的HTML页面上,还是一旦选中它就没有被提交到视图中?对不起,我的意思是下拉列表甚至没有出现在HTML页面上,模板的其余部分出现了吗?(如“您来自哪个国家?”部分,您不会因为未定义的country
而收到错误?它没有在视图函数中定义。您需要执行country选择两个。country
不,它没有给我错误。我有另一个视图“def country(request):”在我的views.py文件中,它至少会从另一个模型返回一些数据。我现在可以删除它,以防混淆。