2009-12-23 8 views
0

Я прочитал http://docs.djangoproject.com/en/dev/ref/forms/fields/Field.initial в views.py Django?

>>> 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

мой 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) 

мой views.py

#.... 
    myinit_data = list_of_data_generated # for example [[email protected],[email protected],[email protected]] 
    form_sendmail = SendMailForm() 

Как я могу начать свое поле с views.py

спасибо! :)

ответ

3

Как the documentation состояние, вы можете передать его исходные данные в виде конструктора:

form_sendmail = SendMailForm(initial=myinit_data) 

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

+0

Благодарю за помощь – kn3l

+0

«Однако myinit_data должен быть словарем, с ключами как имена полей». Я точно не знаю Как начинать для определенного поля в форме. forms.EmailField например. – kn3l

+0

'{'myfieldname': 'myvalue'}' - похоже, что вам нужно базовое введение в Python, попробуйте некоторые из руководств, перечисленных в http://wiki.python.org/moin/BeginnersGuide/NonProgrammers –

Смежные вопросы