需要帮助了解()的Flaskurl_

2024-04-24 18:39:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在测试login()路由,但重定向有问题。 我想被重定向到主索引页。在

我的身份验证蓝图如下所示:

from flask import Blueprint, render_template, request, redirect, url_for

mod = Blueprint('auth', __name__, url_prefix='/auth')


@mod.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        return redirect(url_for('general.index'))
    return render_template('auth/login.html')

@mod.route('/logout', methods=['GET', 'POST'])
def logout():
    # Delete session token
    return render_template('auth/logout.html')

@mod.route('/tokeninfo')
def token_info():
    return render_template('auth/tokeninfo.html')

此外,我的general蓝图定义为:

^{pr2}$

但是,每次我在/login路径上提交表单时,我都会被重定向到localhost:5000/auth并收到一个404 page not found error。在

我尝试用以下方法调整return redirect(url_for('general.index')),但都没有成功:

  • return redirect(url_for(general.index))
  • return redirect(url_for('general.index'))
  • return redirect(url_for('../general.index'))

编辑:

似乎提交登录表单只是/auth上的一篇文章,而不是/auth/login上的帖子。服务器日志上显示的内容如下:

127.0.0.1 - - [07/Apr/2017 15:06:59] "GET /auth/login HTTP/1.1" 200 -
404 Not Found: The requested URL was not found on the server.  If you entered the URL manually please check your spelling and try again.
127.0.0.1 - - [07/Apr/2017 15:07:03] "POST /auth HTTP/1.1" 404 -

我错过了什么/不明白什么? 提前谢谢


Tags: authmodurlforgetindexreturnlogin