如何在Django中完成简单的重定向(例如,在ColdFusion中为cflocation,在PHP中为header(location:http://))?

推荐答案

很简单:

from django.http import HttpResponseRedirect

def myview(request):
    ...
    return HttpResponseRedirect("/path/")

更多信息,请参阅official Django docs

Update: Django 1.0

显然,在Django中有一种更好的方法,现在使用generic views.

示例:

from django.views.generic.simple import redirect_to

urlpatterns = patterns('',   
    (r'^one/$', redirect_to, {'url': '/another/'}),

    #etc...
)

generic views documentation人中还有更多人.

Update #2: Django 1.3+

在Django 1.5中,redirect_to已不复存在,已被RedirectView取代.为Yonatan加分

from django.views.generic import RedirectView

urlpatterns = patterns('',
    (r'^one/$', RedirectView.as_view(url='/another/')),
)

Django相关问答推荐

如何在Django模型mixin字段定义中引用模型名称?

我找不到为什么我的DRF登录测试没有按预期工作

Django mods.py我想要一个函数转到一个变量

如何在Django CMS中更新上下文

Django REST框架中如何从另一个视图调用API视图?

Django中的InvalidOperation错误[]

Django 如何知道我的数据库的路径?

PyCharm:强制 Django 模板语法突出显示

初始填充 Django 表单

Django:无法从另一个应用程序导入模型

Django:显示在每个页面上加载页面所花费的时间

如何使用基于类的视图处理表单(通过 get 或 post)?

Celery 和 Django 简单示例

Django Rest Framework - 缺少静态目录

如何在字段集中显示 Django 管理内联模型?

在 Django 中使用 LiveServerTestCase 时使用代码登录

如何在 django 中将多张图片上传到博客文章

python/django中setattr和对象操作的区别

如何获取 pytz 时区的通用名称

Django:根据自定义函数过滤查询