Django:在带有前缀的模板中显示表单名称

时间:2013-08-08 10:28:40

标签: django forms templates prefix

我已经寻找了一段时间的答案但现在没有成功。 我基本上想要获得包含前缀的表单字段的名称。有谁知道怎么做?

示例:

假设我在views.py中创建了一个表单并包含这样的前缀:

myform = SomeForm(prefix="prefix")

然后将其传递给我的模板。如果我然后直接访问模板中的表单字段我{{myform.username}}得到类似的东西(注意包含前缀):

<select id="id_prefix-username" name="prefix-username"> ...

如果我想手动创建表单标签并只插入名称,那么我就不会得到它的前缀:

<input name="{{ myform.username.name }}">

将生成:

<input name="username">

注意它现在缺少前缀。现在,我可以这样做,以达到相同的结果:

 <input name="{{ myform.prefix }}-{{ myform.username.name }}">

但必须有一种内置的方法来做到这一点?

1 个答案:

答案 0 :(得分:12)

您可以改为使用html_name:

<input name="{{ myform.username.html_name }}">

那应该根据需要添加前缀