创建时在django中更改表单输入元素的ID

Tom*_*Tom 2 python forms django input

django创建表单时,输入的ID为以下内容:

<input id="id_name"..../>
Run Code Online (Sandbox Code Playgroud)

如何更改ID以说“测试”?

必须以某种形式存在于form.py中,对吗?

class ReviewForm (forms.ModelForm):
    def __init__(self, *args, **kwargs):
        super(ReviewForm, self).__init__(*args, **kwargs)
        self.fields['location']=forms.CharField(label='', required=False)
        self.fields['review']=forms.CharField(label='', required=False)
Run Code Online (Sandbox Code Playgroud)

小智 5

实例化表单时,您需要使用auto_id设置为字符串的关键字来调用它,该字符串的格式字符为'%s',该字符串将由字段名称替换。

因此,您需要这样做:

ReviewForm(auto_id="test_%s")

并且您的ID将test_作为前缀生成,后跟字段名称。

直接来自Django 1.8文档:

使用Form构造函数的auto_id参数来控制id和标签的行为。

...

如果将auto_id设置为包含格式字符'%s'的字符串,则表单输出将包含标签,并将基于格式字符串生成id属性。例如,对于格式字符串“ field_%s”,名为subject的字段将获得id值“ field_subject”。

https://docs.djangoproject.com/zh-CN/1.8/ref/forms/api/#configuring-form-elements-html-id-attributes-and-label-tags