重定向到Flask中的URL

时间:2013-01-15 17:55:46

标签: python redirect flask

我是Python和Flask的新手,我正在尝试使用与C#相同的Response.redirect - 即:重定向到特定的网址 - 我该怎么做?

这是我的代码:

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)

6 个答案:

答案 0 :(得分:11)

  

我认为这个问题值得更新:只需看看其他方法并进行比较。

以下是如何在Flask(0.12.2)中从一个URL到另一个URL进行重定向(3xx):

#!/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)

其他官方参考文献here

答案 1 :(得分:4)

flask.redirect(location, code=302)

可以找到文档here

答案 2 :(得分:2)

您可以这样使用:

import os
from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
     # Redirect from here, replace your custom site url "www.google.com"
    return redirect("https://www.google.com", code=200)

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)

Here is the referenced link to this code.

答案 3 :(得分:2)

如果您只想重定向到一个没有任何状态代码或类似您可以简单地说出的内容的网址,

    for j in df3['low_value']:
        print(i*j)

but don't know how to store it in df.

  [1]: https://i.stack.imgur.com/QpQZo.png
  [2]: https://i.stack.imgur.com/51fv8.png

here is the link to the Flask Docs for more explanation

答案 4 :(得分:0)

为此,您可以简单地使用redirect中包含的flask函数

from flask import Flask, redirect

app = Flask(__name__)

@app.route('/')
def hello():
    return redirect("www.exampleURL.com")

if __name__ == "__main__":
    app.run()

另一个有用的技巧(因为您是flask的新手),是在初始化flask对象之后添加app.debug = True,因为调试器的输出会在找出问题所在时提供很多帮助。

答案 5 :(得分:0)

Flask包含abort函数,用于重定向到任何URL。此外,您可以使用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) 通过错误代码尽早中止请求:

redirect

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

auto.offset.reset: earliest方法默认情况下采用代码302。http状态代码here的列表。