我使用GAE(在Python中)制作网络应用程序,但是我在向数据存储区输入表单(名称,类年份,生物)时遇到了一些问题。这实际上曾经用过,但现在不再工作了;我不太清楚这里出了什么事。这是我的控制器和模板。我得到的错误是:
File "/base/data/home/apps/p~clubs-cs50/1.389022909265479577/main.py", line 136, in post
identity=user.user_id(), AttributeError: 'function' object has no attribute 'user_id'
感谢任何帮助。谢谢!
控制器:
class CreateProfileHandler(webapp2.RequestHandler):
def get(self):
user = users.get_current_user()
template = JINJA_ENVIRONMENT.get_template('templates/profile_form.html')
self.response.write(template.render({'user': user,
'logout_link': users.create_logout_url('/'),
'nickname': "DEFAULT" if not user else user.nickname(),
'login_link': users.create_login_url('/')}))
def post(self):
user= users.get_current_user
person = Person(
name=self.request.get('name'),
identity=user.user_id(),
userID=user.user_id(),
email=user.email(),
year=self.request.get('year'),
bio=self.request.get('bio'))
person.put()
self.redirect('/home')
模板:
<form method = "post">
<pre>
Enter your preferred name <input type="text" name="name">
Enter your class year <input type="text" name="year">
<textarea name="bio" rows="10" cols="51"> Enter a short bio here. </textarea>
<input type = "submit">
</pre>
</form>
答案 0 :(得分:1)
在第133行,改为执行此操作:
user = users.get_current_user()