Я хотел бы сделать проверку формы Google App Engine, но я не знаю, как это сделать?
Я пытался так:
from google.appengine.ext.db import djangoforms
from django import newforms as forms
class SurveyForm(forms.Form):
occupations_choices = (
('1', ""),
('2', "Undergraduate student"),
('3', "Postgraduate student (MSc)"),
('4', "Postgraduate student (PhD)"),
('5', "Lab assistant"),
('6', "Technician"),
('7', "Lecturer"),
('8', "Other" )
)
howreach_choices = (
('1', ""),
('2', "Typed the URL directly"),
('3', "Site is bookmarked"),
('4', "A search engine"),
('5', "A link from another site"),
('6', "From a book"),
('7', "Other")
)
boxes_choices = (
("des", "Website Design"),
("svr", "Web Server Administration"),
("com", "Electronic Commerce"),
("mkt", "Web Marketing/Advertising"),
("edu", "Web-Related Education")
)
name = forms.CharField(label='Name', max_length=100, required=True)
email = forms.EmailField(label='Your Email Address:')
occupations = forms.ChoiceField(choices=occupations_choices, label='What is your occupation?')
howreach = forms.ChoiceField(choices=howreach_choices, label='How did you reach this site?')
# radio buttons 1-5
rating = forms.ChoiceField(choices=range(1,6), label='What is your occupation?', widget=forms.RadioSelect)
boxes = forms.ChoiceField(choices=boxes_choices, label='Are you involved in any of the following? (check all that apply):', widget=forms.CheckboxInput)
comment = forms.CharField(widget=forms.Textarea, required=False)
И я хотел отобразить это так:
template_values = {
'url' : url,
'url_linktext' : url_linktext,
'userName' : userName,
'item1': SurveyForm ()
}
И у меня есть это сообщение об ошибке:
Traceback (последний вызов был последним):
Файл "C: \ Program Files \ Google \ google_appengine \ google \ appengine \ ext \ webapp_ init _. Py", строка 515, в вызов
handler.get (* группа)
Файл "C: \ Program Files \ Google \ google_appengine \ demos \ b00213576 \ main.py", строка 144, в get
self.response.out.write (template.render (path, template_values))
Файл "C: \ Program Files \ Google \ google_appengine \ google \ appengine \ ext \ webapp \ template.py", строка 143, в рендере
return t.render (Context (template_dict))
Файл "C: \ Program Files \ Google \ google_appengine \ google \ appengine \ ext \ webapp \ template.py", строка 183, в wrap_render
вернуть orig_render (контекст)
Файл "C: \ Program Files \ Google \ google_appengine \ lib \ django \ django \ template_ init _. Py", строка 168, в рендере.
вернуть self.nodelist.render (контекст)
Файл "C: \ Program Files \ Google \ google_appengine \ lib \ django \ django \ template_ init _. Py", строка 705, в рендере.
bits.append (self.render_node (узел, контекст))
Файл "C: \ Program Files \ Google \ google_appengine \ lib \ django \ django \ template_ init _. Py", строка 718, в render_node
Возвращение (node.render (контекст))
Файл "C: \ Program Files \ Google \ google_appengine \ lib \ django \ django \ template \ defaulttags.py", строка 209, в рендере
вернуть self.nodelist_true.render (контекст)
Файл "C: \ Program Files \ Google \ google_appengine \ lib \ django \ django \ template_ init _. Py", строка 705, в рендере
bits.append (self.render_node (узел, контекст))
Файл "C: \ Program Files \ Google \ google_appengine \ lib \ django \ django \ template_ init _. Py", строка 718, в render_node
Возвращение (node.render (контекст))
Файл "C: \ Program Files \ Google \ google_appengine \ lib \ django \ django \ template_ init _. Py", строка 768, в рендере
вернуть self.encode_output (вывод)
Файл "C: \ Program Files \ Google \ google_appengine \ lib \ django \ django \ template_ init _. Py", строка 757, в encode_output
возврат str (вывод)
Файл "C: \ Program Files \ Google \ google_appengine \ lib \ django \ django \ newforms \ util.py", строка 26, в str
вернуть себя. Юникод (). Кодировать (settings.DEFAULT_CHARSET)
Файл "C: \ Program Files \ Google \ google_appengine \ lib \ django \ django \ newforms \ forms.py", строка 73, Юникод
вернуть self.as_table ()
Файл "C: \ Program Files \ Google \ google_appengine \ lib \ django \ django \ newforms \ forms.py", строка 144, в as_table
return self._html_output (u '% (метка) s% (ошибки) s% (поле) s% (help_text) s', u '% s', '', u '
% s', False)
Файл "C: \ Program Files \ Google \ google_appengine \ lib \ django \ django \ newforms \ forms.py", строка 129, в _html_output
output.append (normal_row% {'errors': bf_errors, 'label': label, 'field': unicode (bf), 'help_text': help_text})
Файл "C: \ Program Files \ Google \ google_appengine \ lib \ django \ django \ newforms \ forms.py", строка 232, в Юникод
значение = значение. стр ()
Файл "C: \ Program Files \ Google \ google_appengine \ lib \ django \ django \ newforms \ util.py", строка 26, в str
вернуть себя. Юникод (). Кодировать (settings.DEFAULT_CHARSET)
Файл "C: \ Program Files \ Google \ google_appengine \ lib \ django \ django \ newforms \ widgets.py", строка 246, в Unicode
return u '
'% u '\ n'.join ([u'
% s '% w для w в себе])
Файл "C: \ Program Files \ Google \ google_appengine \ lib \ django \ django \ newforms \ widgets.py", строка 238, в
iter
yield RadioInput (self.name, self.value, self.attrs.copy (), выбор, я)
Файл "C: \ Program Files \ Google \ google_appengine \ lib \ django \ django \ newforms \ widgets.py", строка 212, в
init self.choice_value = smart_unicode (choice [0]) TypeError: объект 'int' является неподписаннымпытался сделать это, используя такой вид:
class ItemUserAnswer(djangoforms.ModelForm):
класс Meta: model = UserAnswer
Но я не знаю, как добавить дополнительные метки в эту форму, и она отображается в одной строке,У вас есть какие-нибудь предложения?
Большое спасибо, потому что это сводит меня с ума, почему он до сих пор не работает: /