我目前正在测试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
蓝图定义为:
但是,每次我在/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 -
我错过了什么/不明白什么? 提前谢谢
问题出在模板上!在
在我的登录模板中,我以前有:
但是,由于我正在过渡到blueprint驱动的应用程序,我需要进行以下更改:
^{pr2}$现在重定向按预期工作。在
相关问题 更多 >
编程相关推荐