我想做的是类似于回应。重定向作为在c# -即:重定向到一个特定的URL -我怎么去做这个?

这是我的代码:

import os
from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello World!'

if __name__ == '__main__':
    # Bind to PORT if defined, otherwise default to 5000.
    port = int(os.environ.get('PORT', 5000))
    app.run(host='0.0.0.0', port=port)

当前回答

Flask包含用于重定向到任何url的重定向函数。此外,你可以用abort的错误代码提前中止请求:

from flask import abort, Flask, redirect, url_for

app = Flask(__name__)

@app.route('/')
def hello():
    return redirect(url_for('hello'))

@app.route('/hello'):
def world:
    abort(401)

默认情况下,每个错误代码都会显示一个黑白错误页面。

重定向方法默认接受代码302。http状态代码列表。

其他回答

Flask包含用于重定向到任何url的重定向函数。此外,你可以用abort的错误代码提前中止请求:

from flask import abort, Flask, redirect, url_for

app = Flask(__name__)

@app.route('/')
def hello():
    return redirect(url_for('hello'))

@app.route('/hello'):
def world:
    abort(401)

默认情况下,每个错误代码都会显示一个黑白错误页面。

重定向方法默认接受代码302。http状态代码列表。

flask.redirect(location, code=302)

文档可以在这里找到。

我认为这个问题值得更新。只要和其他方法比较一下。

以下是如何在Flask(0.12.2)中从一个url重定向到另一个url:

#!/usr/bin/env python

from flask import Flask, redirect

app = Flask(__name__)

@app.route("/")
def index():
    return redirect('/you_were_redirected')

@app.route("/you_were_redirected")
def redirected():
    return "You were redirected. Congrats :)!"

if __name__ == "__main__":
    app.run(host="0.0.0.0",port=8000,debug=True)

其他官方参考资料,请点击这里。

这很容易,如果你只是想重定向到一个url没有任何状态码或类似的东西,你可以简单地说

from flask import Flask, redirect

app = Flask(__name__)

@app.route('/')
def redirect_to_link():
    # return redirect method, NOTE: replace google.com with the link u want
    return redirect('https://google.com')

这里是Flask Docs的链接,可以获得更多的解释

你必须返回一个重定向:

import os
from flask import Flask,redirect

app = Flask(__name__)

@app.route('/')
def hello():
    return redirect("http://www.example.com", code=302)

if __name__ == '__main__':
    # Bind to PORT if defined, otherwise default to 5000.
    port = int(os.environ.get('PORT', 5000))
    app.run(host='0.0.0.0', port=port)

请参阅有关flask文档的文档。code的默认值是302,因此code=302可以被省略或替换为其他重定向代码(301、302、303、305和307中的一个)。