首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取错误: AttributeError:'Flask‘对象没有属性'login_manager’

获取错误: AttributeError:'Flask‘对象没有属性'login_manager’
EN

Stack Overflow用户
提问于 2021-10-27 05:16:45
回答 1查看 127关注 0票数 0

我正在尝试运行我的flask应用程序,但每次我加载我的索引页面时,它都会给我一个错误:

代码语言:javascript
运行
复制
AttributeError: 'Flask' object has no attribute 'login_manager'. 

在我放入这段特定代码之前,它就可以工作了

代码语言:javascript
运行
复制
bp = flask.Blueprint("bp", __name__, template_folder="./build")

@bp.route('/index')
@login_required
def index():
    # TODO: insert the data fetched by your app main page here as a JSON
    DATA = {"your": "data here"}
    data = json.dumps(DATA)
    return flask.render_template(
        "index.html",
        data=data,
    )

app.register_blueprint(bp)

这是我的当前代码,它可以在其中工作

代码语言:javascript
运行
复制
@app.route("/index", methods=["GET", "POST"])
def index():
    global current_user
    if not current_user:
        return flask.redirect(flask.url_for("login"))
    if flask.request.method == "GET":
        track_name, genius_link, track_artist, track_image, track_url = render()
        # If user has no favorite artists, redirect back to profile.
        if track_name == None:
            return flask.redirect(flask.url_for("profile"))
        return flask.render_template(
            "index.html",
            variable=track_name,
            variable1=genius_link,
            variable2=track_artist,
            variable3=track_image,
            variable4=track_url,
        )
    else:
        valid_artist = validate_and_insert_artist(flask.request.form["artistId"])
        if not valid_artist:
            return flask.render_template("index.html", error=True)
        else:
            track_name, genius_link, track_artist, track_image, track_url = render()
            # If user has no favorite artists, redirect back to profile.
            if track_name == None:
                return flask.redirect(flask.url_for("profile"))
            return flask.render_template(
                "index.html",
                variable=track_name,
                variable1=genius_link,
                variable2=track_artist,
                variable3=track_image,
                variable4=track_url,
            )

我不确定为什么我一放入蓝图代码,它就停止工作并给我那个错误

这是我的login.html

代码语言:javascript
运行
复制
@app.route("/login", methods=["GET", "POST"])
def login():
    global current_user
    if current_user:
        return flask.redirect(flask.url_for("profile"))
    if flask.request.method == "GET":
        return flask.render_template("login.html")
    if flask.request.method == "POST":
        username = flask.request.form["username"]
        cursor.execute(
            "SELECT user_name FROM public.users WHERE user_name = %s", [username]
        )
        results = cursor.fetchall()
        if len(results) != 0:  # if a user exists, "log" them in
            current_user = username
            return flask.redirect(flask.url_for("profile"))
        else:
            return flask.render_template("login.html", error=True)
EN

回答 1

Stack Overflow用户

发布于 2021-10-27 05:24:22

您需要阅读@login_required的Flask文档。一旦添加了要求用户登录的方法,就需要提供用户可以登录的方法。

或者,您可能只想删除@login_required

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69733108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档