带有预处理的 Django 页面重定向

Posted

技术标签:

【中文标题】带有预处理的 Django 页面重定向【英文标题】:Django page redirect with pre-processing 【发布时间】:2011-09-08 10:37:18 【问题描述】:

我正在尝试实现一个通用视图,它执行一些预处理并重定向到外部网站。本质上,我想在每次访问视图时执行重定向之前查询和更新数据库。

我发现了Python + Django page redirect,但这仅处理简单的重定向,而不涉及通用视图。

谁能提供一个应该如何实现的例子?

如果您能提供任何帮助,我们将不胜感激,

尼尔

【问题讨论】:

【参考方案1】:

如果您只想在执行重定向之前进行一些处理,我看不出通用视图如何为您发挥作用。您可以通过将通用视图包装在另一个函数中来自定义通用视图,或者在基于类的通用视图的情况下,将它们子类化。在您的情况下,我看不出它们对您有多大好处,只是写一个普通的视图,然后使用redirect:

from django.shortcuts import redirect

def my_view(request):
    ...do some processing
    return redirect('/some/url/')

没有比这更容易的了。

【讨论】:

好的,谢谢。我认为由于通用视图是新的首选做事方式,因此可能有一种方法可以使用它们来做到这一点。使用你的方法,效果很好。

以上是关于带有预处理的 Django 页面重定向的主要内容,如果未能解决你的问题,请参考以下文章

django 1.10 一个带有链接的应用页面重定向到另一个应用页面

防止 Django 模板表单中的重定向

带有自定义错误消息的 Django 重定向

无需重定向的 Django 远程身份验证

django 将“/”重定向到平面页面

Django 唯一 URL 重定向问题