我有一个简单的HTML表单,我没有使用Django表单,但现在我想添加一个select。
选择最容易创建为Django ChoiceField
(而不是通过循环等手动创建选择),但是,它似乎无法在没有绑定/创建的情况下正确呈现Django形式。 (由于渲染不正确,浏览器会显示<django.forms.widgets.Select object at 0x10e9a9d10>
)
有没有办法做到这一点?
答案 0 :(得分:6)
你应该使用Django表格。但如果你真的不想使用表格。您可以在视图中从ChoiceField生成HTML并将html传递给模板。
from django.forms import fields
my_choice = fields.ChoiceField(choices=((1, '1'), (2,'2')))
field_name = 'my_choice'
field_value = 1
my_choice_html = my_choice.widget.render(field_name, field_value)
return render(request, 'template.html', {'my_choice': my_choice_html})