Django形成ChoiceField。我的选择不显示选项

时间:2016-08-02 09:04:46

标签: django django-forms

我刚刚开始学习Django,但是我不能在不使用数据库的情况下找到任何简单的例子。我找到了一个,但是当我尝试在我的项目中做同样的事情时......这根本不起作用。我需要帮助,因为现在我不知道出了什么问题。

forms.py

MY_CHOICES = (
('1', 'Option 1'),
('2', 'Option 2'),
('3', 'Option 3'),
)

class MyTestForm(forms.Form):
  my_choice_field = forms.ChoiceField(choices=MY_CHOICES)

views.py

def my_view(request):
    form = MyTestForm()
    return render_response('/home/.../test.html',{'form': form})

的test.html

<div>
    <select>
    {% for choice in form.my_choice_field %}
        <option>{{choice.1}}</option>

    </select>
    {% endfor %}

</div>

这只是显示空的下拉列表。 谢谢你的帮助!

2 个答案:

答案 0 :(得分:3)

应该是form.my_choice_field.choices而不是form.my_choice_field

<div>
    <select>
    {% for choice in form.fields.my_choice_field.choices %}
        <option>{{choice.1}}</option>
    {% endfor %}    
    </select>
</div>

答案 1 :(得分:1)

最简单的方法是使用class ChangeJobsTable < ActiveRecord::Migration[5.0] def change add_column :jobs, :skills2 end end ,让Django负责为您呈现选择字段。

如果您确实需要手动渲染字段,可以通过绑定字段{{ form.my_choice_field }}属性访问选项。

field

我无法在文档中找到相应的参考资料,所以我不知道它是否是一个记录在案的API。