Python 更改模板中的表单html名称

Python 更改模板中的表单html名称,python,django,Python,Django,我正在查看一个名为“我想知道是否可以在模板中更改html名称”的包 i、 e 规则: 我根本不想更改原始表单或视图,我只能访问模板。这可能会过分简化它,但什么不只是原始输出 <label for="">what ever you want</label> <input type="text" name="{{ form.username.html_name }}" id="{{ form.username.auto_id }}"> 你到底想要什么 我仍然会

我正在查看一个名为“我想知道是否可以在模板中更改html名称”的包

i、 e

规则:


我根本不想更改原始表单或视图,我只能访问模板。

这可能会过分简化它,但什么不只是原始输出

<label for="">what ever you want</label>
<input type="text" name="{{ form.username.html_name }}" id="{{ form.username.auto_id }}">
你到底想要什么

我仍然会自己在form.py中执行此操作,但如果您只有要使用的模板,则此处不需要任何花哨的东西。

由于您正在更改标签,我建议您在不使用templatetag或筛选器的情况下,使用模板:

<label for="id_username">Your label name here:</label>
{{ form.username }}
一个简单的过滤器可以是:

@register.filter(name='my_custom_filter')
def my_custom_filter(value):
    # here value is the value of your label
    # process it as you please then return the new value
    if value == 'changeme':
        return 'changed label'
    return value

这只是一个示例,向您展示模板过滤器的工作原理,然后您必须对其进行详细说明,并更改名称、逻辑等

如果您更改字段的
id
,则在发布时它将不再匹配。如果要更改
标签
,可以在form.py文件中进行更改。所以,请更具体地说,你的
名字是什么?另外,您正在更改一个字段,而不是表单名称。@Samuele Mattiuzzo抱歉,是的,这是我要更改的标签,但是如上所述,我不想在form.py中更改它,因为它也是一个包装。
{{ form.username.label|my_custom_filter }}
@register.filter(name='my_custom_filter')
def my_custom_filter(value):
    # here value is the value of your label
    # process it as you please then return the new value
    if value == 'changeme':
        return 'changed label'
    return value