0

定时重定向是所有三行代码,因此它“存在”的地方不是生死攸关,而是用 Python 或 Javascript 编写它是问题的本质。

我正在使用 Flask 来提供一些东西,每当页面更改或同事的书签由于原因而过期或错误时,都会有礼貌的 404 页面和定时重定向(因为显然,没有人阅读“点击这里去索引”链接,宁愿给我发电子邮件问我该怎么做,因为他们迷路了......叹息)。虽然一个简单的重定向/index可能不会像我的其他一些内容那样受到动态变化的影响——而且我的应用程序启动起来非常小——我猜有一种正确的方法和更正确的方法来做到这一点,尤其是作为一个扩展到更大的项目。

特别是考虑到重定向应该更加动态 - 也许我并不总是希望在不同的情况下以相同的方式处理 404,例如当用户希望在弹出窗口中提供补充内容但他们得到 404 和重定向时来自我的应用程序的不同响应会更合适。这似乎是 Flask 应该处理重定向的情况,而不是仅仅依靠在 Javascript 中提供具有三行定时重定向的 404 模板 - 对吧?

这也是一种关注点分离问题。我可以在 Flask 方面做很多事情,但是把代码放在它所属的地方比把它放在方便的地方要好,尤其是在需要改变的时候。因此,即使return redirect(url_for('theRightPageAtTheRightTime'))肯定看起来不错,但我没有受过足够的教育,无法知道它是否属于它。它属于Flask应用程序吗?还是应该将我的重定向逻辑保留在 .js 文件中?

4

2 回答 2

0

我不确定你在这里问什么,但是没有办法提供 404 页面,然后在没有它们的情况下重定向用户:

1) 点击链接。

2)您编写Javascript来做到这一点。

一旦 404 页面返回给用户,您的服务器端堆栈就不能再做任何事情来重定向用户。

于 2013-08-06T15:30:21.357 回答
0

恕我直言,如果您提供 404 页面,则必须在客户端完成之后的任何重定向(可能将它们重定向到主页、搜索页面等)。在其他情况下必须进行服务器重定向。

于 2013-08-06T16:14:17.460 回答