我是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)
答案 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)
答案 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
答案 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的列表。