Формы Джанго - Как не проверить? - PullRequest
6 голосов
/ 14 ноября 2008

Скажите, у меня есть эта простая форма:

class ContactForm(forms.Form):
    first_name = forms.CharField(required=True)
    last_name = forms.CharField(required=True)

И у меня есть значение по умолчанию для одного поля, но не для другого. Поэтому я настроил это так:

default_data = {'first_name','greg'}
form1=ContactForm(default_data)

Однако теперь, когда я показываю его, Django показывает ошибку проверки, говоря, что last_name требуется:

print form1.as_table()

Как правильно это сделать? Поскольку это не данные, отправленные пользователем, просто данные, которые я хочу предварительно заполнить.

Примечание: required = False не будет работать, потому что я хочу, чтобы это требовалось, когда пользователь представляет данные Просто когда я впервые показываю форму на странице, у меня не будет значения по умолчанию.

Ответы [ 3 ]

10 голосов
/ 14 ноября 2008

Конструктор формы имеет initial параметр, который позволяет задавать значения по умолчанию для полей.

1 голос
/ 07 октября 2016

Также возможно вручную проверить и очистить ошибки позже: form.errors.clear()

0 голосов
/ 14 ноября 2008

Из документации Django это:

from django import forms
class ContactForm(forms.Form):
    subject = forms.CharField(max_length=100)
    message = forms.CharField()
    sender = forms.EmailField()
    cc_myself = forms.BooleanField(required=False)

"required = False" должен производить эффект, который вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...