Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
566 views
in Technique[技术] by (71.8m points)

flask中在模板中使用current_user.is_authenticated,运行报错,提示没定义

flask中在模板中使用current_user.is_authenticated,运行报错,提示没定义

图片描述

报错信息

Traceback (most recent call last):
  File "E:PythonPython35-32libsite-packagesflaskapp.py", line 2000, in __call__
    return self.wsgi_app(environ, start_response)
  File "E:PythonPython35-32libsite-packagesflaskapp.py", line 1991, in wsgi_app
    response = self.make_response(self.handle_exception(e))
  File "E:PythonPython35-32libsite-packagesflaskapp.py", line 1567, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "E:PythonPython35-32libsite-packagesflask\_compat.py", line 33, in reraise
    raise value
  File "E:PythonPython35-32libsite-packagesflaskapp.py", line 1988, in wsgi_app
    response = self.full_dispatch_request()
  File "E:PythonPython35-32libsite-packagesflaskapp.py", line 1641, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "E:PythonPython35-32libsite-packagesflaskapp.py", line 1544, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "E:PythonPython35-32libsite-packagesflask\_compat.py", line 33, in reraise
    raise value
  File "E:PythonPython35-32libsite-packagesflaskapp.py", line 1639, in full_dispatch_request
    rv = self.dispatch_request()
  File "E:PythonPython35-32libsite-packagesflaskapp.py", line 1625, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "D:1filepythontestloglog.py", line 90, in login
    return render_template("/login.html", form=form)
  File "E:PythonPython35-32libsite-packagesflaskemplating.py", line 134, in render_template
    context, ctx.app)
  File "E:PythonPython35-32libsite-packagesflaskemplating.py", line 116, in _render
    rv = template.render(context)
  File "E:PythonPython35-32libsite-packagesjinja2environment.py", line 989, in render
    return self.environment.handle_exception(exc_info, True)
  File "E:PythonPython35-32libsite-packagesjinja2environment.py", line 754, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "E:PythonPython35-32libsite-packagesjinja2\_compat.py", line 37, in reraise
    raise value.with_traceback(tb)
  File "D:1filepythontestlogemplateslogin.html", line 1, in top-level template code
    {% extends "base.html"%}
  File "D:1filepythontestlogemplatesase.html", line 1, in top-level template code
    {% extends "bootstrap/base.html" %}
  File "E:PythonPython35-32libsite-packagesflask_bootstrapemplatesootstrapase.html", line 1, in top-level template code
    {% block doc -%}
  File "E:PythonPython35-32libsite-packagesflask_bootstrapemplatesootstrapase.html", line 4, in block "doc"
    {%- block html %}
  File "E:PythonPython35-32libsite-packagesflask_bootstrapemplatesootstrapase.html", line 20, in block "html"
    {% block body -%}
  File "E:PythonPython35-32libsite-packagesflask_bootstrapemplatesootstrapase.html", line 21, in block "body"
    {% block navbar %}
  File "D:1filepythontestlogemplatesase.html", line 12, in block "navbar"
    {% if current_user.is_authenticated %}
  File "E:PythonPython35-32libsite-packagesjinja2environment.py", line 408, in getattr
    return getattr(obj, attribute)
jinja2.exceptions.UndefinedError: 'current_user' is undefined

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

发现是初始化配置少了一句

login_manager.init_app(app)

加上去就好了


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...