未定义错误:“current_user”未定义

2024-01-06

我有一个带有烧瓶的应用程序,以前可以使用,但现在我使用蓝图并尝试运行它,但出现错误,所以我想知道这就是 g.user 不工作的蓝图问题?我该如何修复它 谢谢:)

应用程序/布局/__ init __.py:

from flask import Blueprint
layout = Blueprint('layout', __name__)
from . import view

__初始化__.py

from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
from flask.ext.login import LoginManager
import psycopg2
from config import basedir
from config import config

app = Flask(__name__)
app.config.from_object('config')
db = SQLAlchemy()
lm = LoginManager()
lm.init_app(app)
lm.login_view = 'login'


def create_app(config_name):
    app = Flask(__name__)
    app.config['DEBUG'] = True
    app.config.from_object(config[config_name])
    db.init_app(app)
    from .layout import layout as appr_blueprint
    # register our blueprints
    app.register_blueprint(appr_blueprint)


return app

view.py:

@layout.before_request 
      def before_request():
         g.user = current_user 
    @layout.route('/login', methods = ['GET', 'POST']) 
      def login():
            form = LoginForm()
            #checks if the user is authernticated
            #or not, if yes it skips authentfic.
            if current_user is not None and current_user.is_authenticated():
                   return redirect(url_for('user'))
         #does not allow user to use get method
            if request.method == 'GET':
                  return render_template('login.html',
                            form = form,
                          title = 'Login')
        #taking the user submitted data and checking if it exists in the database
           user_in_db = User.query.filter_by(name=form.name.data.lower()).first()

        #if the username is not wrong
            if user_in_db is not None and user_in_db != False:
                    if form.email.data !=  user_in_db.email:
                           flash('Email is incorrect')
                            return redirect(url_for('login'))
                    login_user(user_in_db)
                    return redirect(url_for('user',page=1,sortby='normal'))
           else:
               flash('Username does not exists')
                 return render_template('login.html',
                        form = form,
                       title = 'Login')

基本.html:

<div id="bodyAll">
        <div class="navbar navbar-inverse navbar-fixed-top">

            <div class="container-fluid">
                <ul class="nav navbar-nav">
                    <li id="logo">
                        <a href="{{ url_for('layout.home') }}">
                            <span id="globe"class="glyphicon glyphicon-home"></span>
                            Home
                        </a>
                    </li>
                    <li id="logo">
                        <a href="{{ url_for('layout.new') }}">
                            <span id="globe"class="glyphicon glyphicon-plus"></span>
                            Add Monkey
                        </a>
                    </li>
                    <li>
                        <a href="{{ url_for('layout.user',page = '1', sort = 'normal', monkey = monkey) }}">
                            <span class="glyphicon glyphicon-tree-deciduous"></span>
                            Jungle
                        </a>
                    </li>

                {% if current_user.is_authenticated() %} //**Got error here**
                    <li>
                        <a href="#">
                            <span class="glyphicon glyphicon-user"></span>
                            {{g.user.name.capitalize()}}
                        </a>
                    </li>
                    {% endif %}

你应该注册login_managerinit.py 尝试添加这个

login_manager.init_app(app)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

未定义错误:“current_user”未定义 的相关文章

随机推荐

  • 如何执行Realm计数查询

    如何在 Realm 上进行计数查询 例如这是我的模型 class Dog Object dynamic var name class Person Object dynamic var name let dogs List
  • 如何从Python文件的末尾开始读取行

    我需要知道如何从 python 文件中读取行 以便我先读取最后一行 然后以这种方式继续 直到光标到达文件的开头 有任何想法吗 解决此问题的一般方法是按行反向读取文本文件 可以通过至少三种方法来解决 一般问题是 由于每行可以有不同的长度 因此
  • java mysql 统计行数

    我创建此代码是为了允许我计算表中的行数 但是 我无法返回计数的数字 并显示错误 无法从结果类型为 void 的方法返回值 有人可以告诉我我的错误在哪里吗 多谢 public void num throws Exception try Thi
  • 马根托。结帐购物车中的数量无法正常使用

    我已经安装了 Magento 1 8 0 并且在本地主机上购物车工作正常 我更改购物车中产品的数量 然后按下 更新购物车 按钮 一切正常 我把网站转移到网上 购物车数量不再起作用了 当我更改产品数量并单击按钮时 数量保持不变 如果我返回并尝
  • 使用 PKG_CHECK_MODULES 时,autoconf 生成的 Makefile 不会传递库头的标志

    我的项目依赖于一个库 更准确地说 GTK 所以我在我的项目中添加了以下配置configure ac PKG CHECK MODULES GTK gtk 2 0 AC SUBST GTK CFLAGS AC SUBST GTK LIBS My
  • 更新到 Asp.Net MVC 4 RTM 后无法加载类型 HttpControllerConfigurationAttribute

    我最初正在使用 ASP Net MVC 4 Beta 和 EF 4 3 1 开发单页应用程序 我更新了 MVC 4 和 EF 5 的所有 NuGet 包 现在 每当我调用 ApiController 或 DbDataController 时
  • 将 SKSpriteNode 添加到 SKEffectNode 时金属崩溃

    gt MTLDebugRenderCommandEncoder setScissorRect 2028 failed assertion rect x 0 rect width 1080 1080 must be lt 240 添加一个简单
  • 构建定义 null

    我使用这段代码来确定特定构建的构建定义详细信息 TfsTeamProjectCollection tpc TfsTeamProjectCollectionFactory GetTeamProjectCollection tfsUri IBu
  • 来自命令行的 PHPUnit - 显示的依赖文件列表。如何让它只显示测试脚本?

    我已经在 Windows 7 上安装了 PHPUnit 以及 PHP 和 Pear 我有一个基本的测试脚本 首先
  • 如何在此父方法中等待异步方法而不使用异步修饰符?

    我有一个想要等待的方法 但我不想引起多米诺骨牌效应 认为任何东西都可以调用这个调用方法并等待它 例如我有这样的方法 public bool Save string data int rowsAffected await UpdateData
  • 在 Visual Studio Code 中添加断点

    我一定是做了一些愚蠢的错误 因为我似乎无法在 Visual Studio Code 中添加断点 当我右键单击我的代码时 会弹出以下内容 在行号旁边左键单击也不起作用 我已阅读此处的文档https code visualstudio com
  • Android 屏幕方向,晃动手机导致应用程序崩溃

    我有搜索应用程序 它加载从网络服务检索的数据 创建应用程序时 它会显示进度对话框 一旦完成加载数据 它就会关闭进度对话框 问题是在加载时 如果我改变手机的方向 它工作正常 它会尝试再次加载活动 但如果我在加载数据时开始摇动手机 应用程序就会
  • 动画 UIStackView 排列子视图内容大小变化

    当其内在内容大小发生变化时 是否可以对排列的子视图进行动画处理 例如 假设我有一个已排列的子视图 其中包含固定到边缘的单个 UILabel 该标签有少量文字 新文本出现 比之前的文本大 标签的内在内容尺寸现在更大 我希望能够像这样制作动画
  • 位域的意外行为

    我编译了代码 include
  • 如何使用 Carrierwave 上传自定义 S3 元数据

    我想添加Content Disposition我使用 Carrierwave 上传的文件的标头 之后不能通过 URL 中的查询参数执行此操作 有什么我可以添加到的吗AttachmentUploader在上传文件之前 可以帮助我完成此任务的模
  • Android Studio:按钮始终出现在前面

    我有一个相对布局 我向其中添加视图 我向其中添加了一个按钮 该按钮始终显示在添加到其中的所有其他视图的前面 无论添加内容的顺序如何 怎么会 我纯粹使用 Java 编写代码 没有使用 XML 这是一个简单的示例 即使文本是最后添加的 按钮也会
  • Fabric crashlytics 新实施不起作用 |织物特性

    实施将apiSecret and apiKey in the fabric properties文件不再工作 织物属性文件 app fabric properties apiSecret xx68f6074dxxxxxc11dxxx97c1
  • Python 套接字在远程消耗所有数据之前关闭

    我正在编写一个 Python 模块 它通过 unix 套接字与 go 程序进行通信 客户端 python 模块 将数据写入套接字 服务器使用它们 Simplified version of the code used outputStrea
  • 如何将点击手势转换为 SwiftUI 地图视图中的坐标?

    我正在尝试添加一个MapAnnotation项目到我的Map 查看自MapKit 如果您在文本字段中手动添加坐标 则一切正常 但我找不到任何通过点击地图来添加坐标的方法 我在互联网上阅读了很多内容 但没有找到任何内容onTap 地图事件处理
  • 未定义错误:“current_user”未定义

    我有一个带有烧瓶的应用程序 以前可以使用 但现在我使用蓝图并尝试运行它 但出现错误 所以我想知道这就是 g user 不工作的蓝图问题 我该如何修复它 谢谢 应用程序 布局 init py from flask import Bluepri