简而言之:
只使用Flask micro-framework(及其依赖关系),我们可以从一条路线到另一条路线执行 内部重定向 吗?
例如:
username
)提交至password
@app.route('/register', methods=['POST'])
和@app.route('/login', methods['POST'])
username
发送HTTP POST
详细信息:
我正在使用Flask和Flask-JWT扩展程序构建REST API。更具体地说,我正在实施登录和注册。
登录工作正常,并返回带有令牌的JSON对象。
以下是我的(登录)身份验证处理程序(即password
(POST请求) - 默认Flask-JWT身份验证URL规则):
/auth
成功登录返回:
@jwt.authentication_handler
def authenticate(username, password):
user = User.query.filter_by(username=username).first()
if user and user.verify_password(password):
return user
return None
以下是我的注册路线:
{
"token": "<jwt-token>"
}
答案 0 :(得分:4)
您应该使用Post-Redirect-Get模式。
{
"error_message" : "This API project is not authorized to use this API. Please ensure that this API is activated in the APIs Console: Learn more: https://code.google.com/apis/console",
"predictions" : [],
"status" : "REQUEST_DENIED"
}
这会破坏像
这样的东西from flask import Flask, redirect, request, render_template
app = Flask("the_flask_module")
@app.route('/', methods=["GET", "POST"])
def post_redirect_get():
if request.method == "GET":
return render_template("post_redirect_get.html")
else:
# Use said data.
return redirect("target", code=303)
@app.route("/target")
def target():
return "I'm the redirected function"
app.run(host="0.0.0.0", port=5001)
修改强>
我之前没有使用过Flask-JWT,也不知道帖子的要求。但是你可以告诉Flask使用passing the redirect function code=307
.使用的当前方法(而不是get请求)重定向。希望能解决您的延期问题。