AttributeError:'功能'对象没有属性' user_id'

时间:2015-12-05 05:51:30

标签: python html django google-app-engine jinja2

我使用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>

1 个答案:

答案 0 :(得分:1)

在第133行,改为执行此操作:

user = users.get_current_user()