在Django中,如何直接从URL执行简单的重定向.皮耶?自然地,我是一个组织良好的人,支持干燥原则,所以我希望根据它的命名url模式来获得目标,而不是硬编码url.

推荐答案

如果您使用的是Django 1.4或1.5,则可以执行以下操作:

from django.core.urlresolvers import reverse_lazy
from django.views.generic import RedirectView

urlpatterns = patterns('',
    url(r'^some-page/$', RedirectView.as_view(url=reverse_lazy('my_named_pattern'), permanent=False)),
    ...

如果您使用的是Django 1.6或更高版本,则可以执行以下操作:

from django.views.generic import RedirectView

urlpatterns = patterns('',
    url(r'^some-page/$', RedirectView.as_view(pattern_name='my_named_pattern', permanent=False)),
    ...

在Django 1.9中,默认值permanent已从True更改为False.因此,如果不指定permanent关键字参数,您可能会看到以下警告:

RemovedInDjango19Warning:在Django 1.9中,"RedirectView.Permanent"的默认值将从True更改为False.设置显式值以使此警告静默.

Django相关问答推荐

DRF中是否有有效的更新有序数据的算法?

如果密码在Django中未被散列,则对其进行散列

管理器不能通过对象上的对象实例访问.保存()

ModuleNotFoundError:没有名为guardian.shortcuts的模块

DJANGO 获得模型中发现的第一、第二和第三大价值

我如何获得已循环的每个项目的名称?

在 Django 中按月份和年份对帖子进行分类

UpdateView 不会对 from 属性进行数据绑定

在Django测试get方法中获取HttpResponseNotFound

Django:如何在表单 clean() 方法的 django 验证错误中添加 超链接?

Django 相当于 COUNT 和 GROUP BY

如何在 Django 中向 ChoiceField 添加class?

jinja2模板引擎中的这个-是做什么的?

如何动态检索 Django 模型类?

Django 国际化语言代码

在 docker 容器中创建 django 超级用户而不输入密码

如何以编程方式对 Django 中的用户进行身份验证?

import_module 的 Django 1.9 ImportError

为什么我的 Django 单元测试不知道安装了 MessageMiddleware?

Django 中的 Python 日志(log)记录