I would like to do a Google engine form validation, but I don’t know how to do this? I tried like this:
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?')
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)
And I wanted to show it as follows:
template_values = {
'url' : url,
'url_linktext' : url_linktext,
'userName' : userName,
'item1': SurveyForm ()}
And I have this error message:
Traceback (last last call): File "C: \ Program Files \ Google \ google_appengine \ google \ appengine \ ext \ webapp_init_.py", line 515, to the call handler.get(* ) "C:\Program Files\Google\google_appengine\demos\b00213576\main.py", 144, get self.response.out.write(template.render(, template_values)) "C:\Program Files\Google\google_appengine\google\appengine\ext\webapp\template.py", 143, return t.render( (template_dict)) "C:\Program Files\Google\google_appengine\google\appengine\ext\webapp\template.py", 183, wrap_render return orig_render () "C:\Program Files\Google\google_appengine\lib\django\django\template_init_.py" , 168, return self.nodelist.render() "C:\Program Files\Google\google_appengine\lib\django\django\template_init_.py" , 705, bits.append(self.render_node (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, return self.nodelist_true.render() "C:\Program Files\Google\google_appengine\lib\django\django\template_init_.py" , 705, bits.append(self.render_node (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, return self.encode_output () "C:\Program Files\Google\google_appengine\lib\django\django\template_init_.py" , 757, encode_output return str () "C:\Program Files\Google\google_appengine\lib\django\django\newforms\util.py", 26, str return self. unicode(). encode (settings.DEFAULT_CHARSET) "C:\Program Files\Google\google_appengine\lib\django\django\newforms\forms.py", 73, return self.as_table() "C:\Program Files\Google\google_appengine\lib\django\django\newforms\forms.py", 144, as_table return self._html_output (u '% (label) 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, value = value. str() "C:\Program Files\Google\google_appengine\lib\django\django\newforms\util.py", 26, str return self. unicode(). encode (settings.DEFAULT_CHARSET) "C:\Program Files\Google\google_appengine\lib\django\django\newforms\widgets.py ", 246, return u '
'% u '\n'.join([u' % s '% w w self]) " C:\Program Files\Google\google_appengine\lib\django\django\newforms\widgets.py ", 238, iter RadioInput (self.name, self.value, self.attrs.copy(), , i) " C:\Program Files\Google\google_appengine\lib\django\django\newforms\widgets.py", 212, init self.choice_value = smart_unicode ( [0]) TypeError: 'int'
- , ?
, :
class ItemUserAnswer(djangoforms.ModelForm):
: model = UserAnswer
, , .
- ?
, , :/