Django:ChoiceField不返回选项

Django:ChoiceField不返回选项,django,django-forms,forms,Django,Django Forms,Forms,我在尝试获取一个简单的选择字段以将其选项返回到应用程序中的html页面时遇到了一个问题。我一直在看一些其他的问题和一些在线教程,但似乎不能得到它的权利 我当前的代码没有返回下拉列表,它只返回submit按钮 最理想的情况是,我希望返回下拉列表中的国家,并选择将其作为必填字段 我可以使用模型返回类似的视图。模型使用这种方法,但似乎无法从表单中获取ChoiceField。表单工作 非常感谢您的帮助,谢谢 型号.py from django import forms class CountryCho

我在尝试获取一个简单的选择字段以将其选项返回到应用程序中的html页面时遇到了一个问题。我一直在看一些其他的问题和一些在线教程,但似乎不能得到它的权利

我当前的代码没有返回下拉列表,它只返回submit按钮

最理想的情况是,我希望返回下拉列表中的国家,并选择将其作为必填字段

我可以使用模型返回类似的视图。模型使用这种方法,但似乎无法从表单中获取ChoiceField。表单工作

非常感谢您的帮助,谢谢

型号.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} )
视图.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文件中,它至少会从另一个模型返回一些数据。我现在可以删除它,以防混淆。