Field.initial в views.py Django? - PullRequest
       12

Field.initial в views.py Django?

0 голосов
/ 23 декабря 2009

читаю http://docs.djangoproject.com/en/dev/ref/forms/fields/

>>> class CommentForm(forms.Form):
...     name = forms.CharField(initial='Your name')
...     url = forms.URLField(initial='http://')
...     comment = forms.CharField()
>>> f = CommentForm(auto_id=False)
>>> print f
<tr><th>Name:</th><td><input type="text" name="name" value="Your name" /></td></tr>
<tr><th>Url:</th><td><input type="text" name="url" value="http://" /></td></tr>
<tr><th>Comment:</th><td><input type="text" name="comment" /></td></tr>

В моем случае я хочу начальное поле в views.py потому что мои исходные данные (myinit_data) я получаю в views.py

my forms.py

   #...
    class SendMailForm(forms.Form):
      to = forms.EmailField(initial=myinit_data, widget = forms.TextInput(attrs={'size': '50'}))
      subject = forms.CharField(widget = forms.TextInput(attrs={'size': '50'}))
      body = forms.CharField(widget = forms.Textarea(attrs={'cols': '50', 'rows': '10'}), required=False)

my views.py

  #....
    myinit_data = list_of_data_generated # for example [a@mail.com,b@mail.com,c@mail.com]
    form_sendmail = SendMailForm()

Как я могу инициализировать свое поле из views.py

спасибо! :)

1 Ответ

3 голосов
/ 23 декабря 2009

Как указано в документации , вы можете передать ее начальные данные конструктору формы:

form_sendmail = SendMailForm(initial=myinit_data)

Однако myinit_data должен быть словарем с ключами в качестве имен полей.

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