Флажок Django по умолчанию должен быть истинным и скрытым

#django #checkbox #newsletter #satchmo

#django #флажок #Рассылка #satchmo

Вопрос:

Я работаю с Satchmo и задаюсь вопросом о подписке на новостную рассылку, как сделать так, чтобы, когда люди регистрируются, они автоматически подписывались на новостную рассылку. Я нашел эту строку кода в forms.py :

 newsletter = forms.BooleanField(label=_('Receive Daily Deals'),
    widget=forms.CheckboxInput(), required=False)
  

Я предполагаю, что в widget там я могу добавить что-то, чтобы оно автоматически было истинным и скрытым.

Комментарии:

1. Разве это не неправильно? если он скрыт, пользователи не смогут его отменить.

Ответ №1:

 newsletter = forms.BooleanField(label=_('Receive Daily Deals'),
    widget=forms.HiddenInput(), required=False, initial=True)
  

Комментарии:

1. Это сделает флажок непригодным для использования

2. Этот тип ввода отображается как «скрытый», а не как «флажок»

Ответ №2:

Вы можете сделать флажок скрытым, добавив класс к элементу, показанному ниже:

 // css
// .hidden { display: none;}

newsletter = forms.BooleanField(
    label=_('Receive Daily Deals'),
    widget=forms.CheckboxInput(attrs={'class': 'hidden'}), 
    required=False, 
    initial=True
)