【发布时间】:2013-08-10 00:40:52
【问题描述】:
我已经四处寻找这个问题的答案一段时间了,但没有成功。 我基本上想获取包含前缀的表单字段的名称。有谁知道怎么做?
例子:
假设我在 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 }}">
但是必须有一个内置的方法来做到这一点?
【问题讨论】:
-
{{ myform.prefix }}-{{ myform.username.name }}在我看来没问题。 -
为其创建自定义模板标签。
-
没有。没有内置的方法可以做到这一点。您必须像@dan-klasson 所说的那样编写自定义标签,或者像您所做的那样手动添加前缀。
标签: django forms templates prefix