【问题标题】:AttributeError: 'function' object has no attribute 'user_id'AttributeError:'function'对象没有属性'user_id'
【发布时间】:2016-03-10 04:18:06
【问题描述】:

我正在使用 GAE(在 Python 中)制作 Web 应用程序,但在将表单(姓名、班级年份、简历)输入数据存储区时遇到了一些问题。这实际上以前可以工作,但现在不行了;我不太确定这里出了什么问题。这是我的控制器和模板。我得到的错误是:

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>

【问题讨论】:

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


    【解决方案1】:

    在第 133 行,改为这样做:

    user = users.get_current_user()
    

    【讨论】:

    • 我这样做了,但我认为这没有帮助。我仍然有同样的错误:文件“/base/data/home/apps/p~clubs-cs50/1.389042303324817503/main.py”,第 136 行,在 post identity=user.user_id(), AttributeError: 'NoneType' 对象没有属性“user_id”
    • 问题出在这个答案上。请参阅您的 post 方法的第一行。您正在将函数 get_current_user 分配给用户,而不是调用该函数。
    • @RainbowYeung 对不起,我给你错误的行号,现在更新了。
    • @HunanRostomyan 现在运行良好,非常感谢!
    • @RainbowYeung np。很高兴能提供帮助。
    猜你喜欢
    • 2022-01-26
    • 2019-05-17
    • 2017-07-04
    • 2014-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多