在django模板中显示单个表单域?

时间:2011-07-23 03:13:42

标签: python html django forms templates

我只想创建

forms.ChoiceField(choices=CHOICES)

字段创建一个简单的选择html项。因为这就是我想要的,我真的不想创建一个新的表单类等。那么有没有办法在django模板中只渲染一个表单字段而不创建/传递一个表单?

例如:

def index(request, template_name="main/index.html"):
    select = forms.ChoiceField(choices=CHOICES)
    return render_to_response(template_name, locals(), context_instance=RequestContext(request))

有没有办法在django模板中做{{select}}或类似的东西来创建一个选择项?

提前致谢!

2 个答案:

答案 0 :(得分:1)

如果您不需要整个Django表单类,我建议您只将选项列表传递给模板并迭代它以为<option />创建<select>标记。这比尝试在模板级别渲染表单小部件容易得多,imo。

答案 1 :(得分:1)

只有一个选择领域?为什么不将所有HTML代码写入模板,只使用templatetags将CHOICES dict发送到模板中。