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”。