Джанго: Мастер сделок и Авто ID - PullRequest
1 голос
/ 01 декабря 2011

Скажем, у меня есть поле с именем address_line_1 в форме, после его рендеринга оно создается следующим образом:

<input id="id_1-address_line_1" type="text" name="1-address_line_1">

И я использую эту форму на разных страницах, однако она не имеет согласованностиодин генерируется как id_1-address_line_1, тогда как другой вид такой же формы в другом представлении, как id_1-address_line_1, таким образом, это повредило мою сторону javascript.Как я могу отбросить часть id_X, чтобы отображаемый идентификатор имел то же имя, что и имя поля address_line_1

Ответы [ 2 ]

0 голосов
/ 18 декабря 2017

Вы можете избавиться от id_, используя параметр auto_id. На ваш взгляд класс:

def get_form_kwargs(self, step=None):
    kwargs = super().get_form_kwargs(step)
    kwargs['auto_id'] = True
    return kwargs

Чтобы избавиться от X-, вам придется визуализировать поля вручную. Это можно сделать с помощью пользовательских шаблонов или в определениях полей:

address_line_1 = forms.CharField(
    widget=forms.TextInput(attrs={'id': 'address_line_1'})
)
0 голосов
/ 02 декабря 2011
FormClass(prefix="prefix_to_display")
...