【发布时间】:2012-11-20 13:25:19
【问题描述】:
有没有办法在视图函数之外重定向到 Django 中的另一个页面。
我需要能够在我的应用程序中的任何位置进行重定向,而不仅仅是在我将 HTTP 响应返回给客户端时。
我试过重定向快捷方式:
from django.shortcuts import redirect
redirect("/some/url")
还有
redirect("http://someserver.com/some/url")
但这并没有明显的作用。
我需要 PHP 中的 header("Location: /some/url"); 之类的东西,它可以在脚本内的任何地方使用。
谢谢
【问题讨论】:
-
重定向不能在我认为的视图函数之外完成。
-
视图方法在请求映射到它们时触发,即执行时。如果您不请求任何内容(即不单击链接或加载页面),则视图函数不会执行 - 因此重定向视图函数之外的任何内容是没有意义的。你到底想做什么?
-
用户点击了一个链接并且一个视图函数正在执行,但是该视图函数调用了另一个库(一个标准的视图控制器实现),它填充了模板并包含可能需要重定向的各种逻辑。
标签: python django django-views python-2.6