suchen

Heim  >  Fragen und Antworten  >  Hauptteil

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

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

报错信息

Traceback (most recent call last):
  File "E:\Python\Python35-32\lib\site-packages\flask\app.py", line 2000, in __call__
    return self.wsgi_app(environ, start_response)
  File "E:\Python\Python35-32\lib\site-packages\flask\app.py", line 1991, in wsgi_app
    response = self.make_response(self.handle_exception(e))
  File "E:\Python\Python35-32\lib\site-packages\flask\app.py", line 1567, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "E:\Python\Python35-32\lib\site-packages\flask\_compat.py", line 33, in reraise
    raise value
  File "E:\Python\Python35-32\lib\site-packages\flask\app.py", line 1988, in wsgi_app
    response = self.full_dispatch_request()
  File "E:\Python\Python35-32\lib\site-packages\flask\app.py", line 1641, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "E:\Python\Python35-32\lib\site-packages\flask\app.py", line 1544, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "E:\Python\Python35-32\lib\site-packages\flask\_compat.py", line 33, in reraise
    raise value
  File "E:\Python\Python35-32\lib\site-packages\flask\app.py", line 1639, in full_dispatch_request
    rv = self.dispatch_request()
  File "E:\Python\Python35-32\lib\site-packages\flask\app.py", line 1625, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "D:\1file\pythontest\blog\blog.py", line 90, in login
    return render_template("/login.html", form=form)
  File "E:\Python\Python35-32\lib\site-packages\flask\templating.py", line 134, in render_template
    context, ctx.app)
  File "E:\Python\Python35-32\lib\site-packages\flask\templating.py", line 116, in _render
    rv = template.render(context)
  File "E:\Python\Python35-32\lib\site-packages\jinja2\environment.py", line 989, in render
    return self.environment.handle_exception(exc_info, True)
  File "E:\Python\Python35-32\lib\site-packages\jinja2\environment.py", line 754, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "E:\Python\Python35-32\lib\site-packages\jinja2\_compat.py", line 37, in reraise
    raise value.with_traceback(tb)
  File "D:\1file\pythontest\blog\templates\login.html", line 1, in top-level template code
    {% extends "base.html"%}
  File "D:\1file\pythontest\blog\templates\base.html", line 1, in top-level template code
    {% extends "bootstrap/base.html" %}
  File "E:\Python\Python35-32\lib\site-packages\flask_bootstrap\templates\bootstrap\base.html", line 1, in top-level template code
    {% block doc -%}
  File "E:\Python\Python35-32\lib\site-packages\flask_bootstrap\templates\bootstrap\base.html", line 4, in block "doc"
    {%- block html %}
  File "E:\Python\Python35-32\lib\site-packages\flask_bootstrap\templates\bootstrap\base.html", line 20, in block "html"
    {% block body -%}
  File "E:\Python\Python35-32\lib\site-packages\flask_bootstrap\templates\bootstrap\base.html", line 21, in block "body"
    {% block navbar %}
  File "D:\1file\pythontest\blog\templates\base.html", line 12, in block "navbar"
    {% if current_user.is_authenticated %}
  File "E:\Python\Python35-32\lib\site-packages\jinja2\environment.py", line 408, in getattr
    return getattr(obj, attribute)
jinja2.exceptions.UndefinedError: 'current_user' is undefined
PHP中文网PHP中文网2777 Tage vor1014

Antworte allen(2)Ich werde antworten

  • 高洛峰

    高洛峰2017-04-18 10:24:20

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

    login_manager.init_app(app)

    加上去就好了

    Antwort
    0
  • 怪我咯

    怪我咯2017-04-18 10:24:20

    current_user好像是flask-login这个插件注入的吧

    Antwort
    0
  • StornierenAntwort