Google app engine 属性错误:';列表';对象没有属性';获取';
我使用的是django表单。当我提交表单时,我得到了Google app engine 属性错误:';列表';对象没有属性';获取';,google-app-engine,django-forms,Google App Engine,Django Forms,我使用的是django表单。当我提交表单时,我得到了AttributeError:'list'对象没有属性'get'你知道吗?谢谢 def post(self, id=None): user = self.auth.get_user_by_session() form = IForm(self.request.POST.items()) if form.is_valid(): 更新2 def post(self, id=None): user = self.a
AttributeError:'list'对象没有属性'get'
你知道吗?谢谢
def post(self, id=None):
user = self.auth.get_user_by_session()
form = IForm(self.request.POST.items())
if form.is_valid():
更新2
def post(self, id=None):
user = self.auth.get_user_by_session()
form = IForm(self.request.POST.items())
if form.is_valid():
#I(**form.cleaned_data).put()
k = I()
k.email = 'test@test.com'
k.put()
self.redirect(webapp2.uri_for('list'))
return self.render_template('test_add.html', **template_values)
更新1
如果我使用form=IForm(self.request.POST)
然后获取>用户
输入值列表。
形式
我添加了required=False
。然后不知道为什么会出错
File "/home/sandhu/projects/google_appengine/lib/django_1_3/django/forms/widgets.py", line 178, in value_from_datadict
return data.get(name, None)
AttributeError: 'list' object has no attribute 'get
告诉您在本例中数据是一个列表,当然列表没有任何get()方法。问题在于:
form = IForm(self.request.POST.items())
尝试记录self.request.POST.items()的结果
编辑:
use self.request.POST.items()返回元组列表。你的表单。表单需要一本字典。改用self.request.POST这不是导致问题的代码。请发布完整的post处理程序。@aschmid00 Ok代码已更新。……请也发布完整的回溯。@aschmid00这里是完整的回溯。谢谢回复:-)我只需打印
self.request.POST.items()
并获取[('email',u'asdfsdf@gmail.com),('users',u'1')]
这就是问题所在。它返回一个列表。我认为您可以使用self.request.POST而不调用items()。sry没有看到这一点。因此,现在您应该显示self.request.POST发生的错误的完整回溯,因为这对我来说很好。我认为multipleechoicefield需要一个值列表,但您的表单返回单个项。self.request.POST.get('users')的结果是什么?你是对的。如果我使用self.request.POST.get('users')
>结果8
。如果我使用“self.request.get_all('users')”>result[u'1',u'8']
form = IForm(self.request.POST.items())