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
current_user好像是flask-login这个插件注入的吧
发现是初始化配置少了一句
login_manager.init_app(app)
加上去就好了