Добавление дополнительных атрибутов HTML с помощью HiddenInput - PullRequest
0 голосов
/ 18 января 2012

Я пытаюсь использовать формы Django для создания входных данных HTML-форм с type = "hidden", а также с собственным идентификатором и классом. Желаемый результат:

<input type="hidden" name="techniciansignature" id="techniciansignature" name="techniciansignature" maxlength="255" />

django.form.widget Источник Django

class HiddenInput(Input):
    input_type = 'hidden'
    is_hidden = True

class TextInput(Input):
    input_type = 'text'

forms.py

sign1 = {
         'id':'estimate_sign_date'
         }

sign2 = {
         'id':'techniciansignature'
         }

sign3 = {
         'id':'approversignature'
         }

estimate_sign_date = forms.CharField(required=False, widget=TextInput(attrs=sign1), max_length=255)
techniciansignature = forms.CharField(required=False, widget=HiddenInput(attrs=sign2), max_length=255)
approversignature = forms.CharField(required=False, widget=HiddenInput(attrs=sign3), max_length=255)

Источник в Chrome:

<input type="text" id="estimate_sign_date" name="estimate_sign_date" maxlength="255" />
<input type="hidden" name="techniciansignature" />
<input type="hidden" name="approversignature" />

Почему атрибуты не включены в виджет HiddenInput, но отлично работают для TextInput?

Ответы [ 2 ]

0 голосов
/ 18 января 2012

Если я предоставлю эту форму:

class F(forms.Form):
    estimate_sign_date = forms.CharField(required=False, widget=TextInput(attrs=sign1), max_length=255)
    techniciansignature = forms.CharField(required=False, widget=HiddenInput(attrs=sign2), max_length=255)

Результат (по Django (1, 3, 1, 'final', 0):

<label for="estimate_sign_date">Estimate sign date:</label> 
<input type="text" id="estimate_sign_date" name="estimate_sign_date" maxlength="255" />
<input type="hidden" id="techniciansignature" name="techniciansignature" />
0 голосов
/ 18 января 2012

попробуйте:

techniciansignature = forms.CharField(required=False,
                                      widget=HiddenInput(attrs=sign2),
                                      max_length=255,
                                      initial='YOUR TEXT')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...