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

Ant*_*ton 6 forms django templates prefix

我已经寻找了一段时间的答案,现在没有成功.我基本上想要获得包含前缀的表单字段的名称.有谁知道如何做到这一点?

例:

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

myform = SomeForm(prefix="prefix")
Run Code Online (Sandbox Code Playgroud)

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

<select id="id_prefix-username" name="prefix-username"> ...
Run Code Online (Sandbox Code Playgroud)

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

<input name="{{ myform.username.name }}">
Run Code Online (Sandbox Code Playgroud)

会产生:

<input name="username">
Run Code Online (Sandbox Code Playgroud)

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

 <input name="{{ myform.prefix }}-{{ myform.username.name }}">
Run Code Online (Sandbox Code Playgroud)

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

Joh*_*ery 14

您可以使用html_name代替:

<input name="{{ myform.username.html_name }}">
Run Code Online (Sandbox Code Playgroud)

那应该根据需要添加前缀