当前位置: 首页 > 知识库问答 >
问题:

重定向到Flask中的URL

邵浩大
2023-03-14

我是Python和Flask的新手,我正在尝试做与响应等效的工作。重定向如C#-ie:重定向到一个特定的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)

共有3个答案

施永宁
2023-03-14

根据烧瓶API文件(v.2.0.x):

flask.redirect(位置code=302响应=无

返回一个响应对象(WSGI应用程序),如果调用该对象,将客户端重定向到目标位置。支持的代码为301、302、303、305和307。300不受支持,因为它不是一个真正的重定向,304是因为它是一个请求的答案,该请求的标题为defined If Modified-Since。

0.6版本中的新功能:该位置现在可以是使用iri_to_uri()函数编码的Unicode字符串。

参数:

  • 位置–响应应重定向到的位置
公羊涛
2023-03-14
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
from flask import Flask, redirect, url_for

app = Flask(__name__)

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

@app.route('/foo')
def foo():
    return 'Hello Foo!'

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)

看一下文档中的示例。

马才
2023-03-14

您必须返回重定向:

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)

请参见烧瓶文档上的留档。代码的默认值是302,因此可以省略代码=302或替换为其他重定向代码(301, 302, 303, 305和307中的一个)。

 类似资料:
  • 问题内容: 我是Python和Flask的新手,我正在尝试做与中相同的操作-即:重定向到特定的URL-我该如何处理? 这是我的代码: 问题答案: 你必须返回重定向: 请参阅flask文档上的文档。代码的默认值为302,因此可以省略或用其他重定向代码(301、302、303、305和307中的一个)替换。

  • 问题内容: 我有一个名为Item的数据库表。项目具有一个属性,可以是以下任一属性 在我的网站上,我有两个显示Item表的视图。 视图1显示 所有 项目(带有状态列)。 视图2 仅 显示状态为的项目。 根据项目状态,用户可以执行某些操作(“要做的事”,“要做的事”,“要做的事”)。 如果您考虑视图1和视图2,它们的共同点是它们包含状态为的项目。所以在两者上我都有一个Button链接到一个名为 id-

  • 问题内容: 在我的flask应用程序中完成操作后,我需要重定向回外部URL。代码看起来像这样 这里可以为像外部域的绝对URL。但是,在将下一个值作为外部url传递时,此重定向将重定向到http://mysitename/www.google.com404并失败。 如何指定重定向到外部域并阻止Flask将其附加到我的域根目录? 问题答案: 我认为你需要添加一个前缀http://或https://到"

  • Flask类有重定向函数。调用时,它会返回一个响应对象,并将用户重定向到具有指定状态码的另一个目标位置。 函数的原型如下 - 在上述函数中 - location 参数是响应应该被重定向的URL。 statuscode 参数发送到浏览器的头标,默认为。 response 参数用于实例化响应。 以下状态代码是标准化的 - HTTP_300_MULTIPLE_CHOICES HTTP_301_MOVED

  • 问题内容: 我正在尝试实现重定向模式,类似于StackOverflow所做的事情: 这是应该发生的情况的简单表格: 现在,我可以使用访问配置文件,但会生成一个。我已经尝试使用关键字参数和一些东西,但是我不确定什么是行不通的。 我如何将一条路由这样重定向到另一条路由? 问题答案: 更新:解决主要问题“我的路线出了什么问题”,最简单的调试方法是使用;例如: 在这种情况下,这确认端点设置正确。这是同时展

  • 问题内容: 如何在angularjs中将用户重定向到绝对URL。 例如:我有一个页面,即我当前的网址(http://example.com/submit),一旦用户单击网页中的某个按钮,他就必须重定向到其他网页,例如(’ http: //google.com ‘)。 我尝试使用 但是没有任何效果。 注意: 不应从Web服务器进行重新部署。它是一个REST API。想要在客户端(使用angularj