我刚刚开始学习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>
这只是显示空的下拉列表。 谢谢你的帮助!
答案 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。