[django]urls.py 中重定向

本文介绍如何在Django中使用RedirectView进行不同类型的URL重定向,包括外部网站、站内页面及利用命名空间的方式。

Django 1.5
有时候需要对一个链接直接重定向,比如首页啥的重定向到一个内容页等等,在views.py 中可以设定,如果没有参数啥的在urls.py 中设定更加方面

from django.views.generic.base import RedirectView

可以实现,其他站点的url,本站的url,以及使用django url路由的命名空间(1.6版本中)几种方式重定向,具体文档看这里

代码片段
urlpatterns = patterns('',
    url(r'^go-to-django/$', RedirectView.as_view(url='http://djangoproject.com'), name='go-to-django'),  #1 重定向到任意url
)
    url(r'^/index$',  RedirectView.as_view(url="/account/myaccount")),  #2 首页到本站的url
    url(r'^myaccount/$', 'account.views.myaccount', name="account_myaccount"),
    url(r'^$',  RedirectView.as_view(pattern_name="account_myaccount")),  #3 使用url命名空间(1.6版本加入)

声明:
本文出自 “orangleliu笔记本” 博客,转载请务必保留此出处http://blog.csdn.net/orangleliu/article/details/44016885
作者orangleliu 采用署名-非商业性使用-相同方式共享协议

19.2.3 包含应⽤程序 accounts 的 URL 接下来,需要修改项⽬根⽬录中的 urls.py,使其包含将为应⽤程序 accounts 定义的 URL: ll_project/urls.py from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('accounts/', include('accounts.urls')), path('', include('learning_logs.urls')), ] 这⾥添加⼀⾏代码以包含应⽤程序 accounts 中的⽂件 urls.py。这⾏代码 与所有以单词 accounts 打头的 URL(如 http://localhost:8000/accounts/login/)都匹配。 19.2.4 登录⻚⾯ ⾸先使⽤ Django 提供的默认视图 login 来实现登录⻚⾯,因此这个应⽤ 程序的 URL 模式稍有不同。在⽬录 learning_log/accounts/ 中,新建⼀个名 为 urls.py 的⽂件,并在其中添加如下代码: accounts/urls.py """为应⽤程序 accounts 定义 URL 模式""" from django.urls import path, include app_name = 'accounts' urlpatterns = [ # 包含默认的⾝份验证 URL path('', include('django.contrib.auth.urls')), ] 我们导⼊ path 函数和 include 函数,以便能够包含 Django 定义的⼀些 默认的⾝份验证 URL。这些默认的 URL 包含具名的 URL 模式,如 'login' 和 'logout'。将变量 app_name 设置成 'accounts',让 Django 能够将这些 URL 与其他应⽤程序的 URL 区分开来。即便是 Django 提供的默认 URL,将其写⼊应⽤程序 accounts 的⽂件后,也可通过命名 空间 accounts 进⾏访问。 登录⻚⾯的 URL 模式与 URL http://localhost:8000/accounts/login/ 匹配。这 个 URL 中的单词 accounts 让 Django 在 accounts/urls.py 中查找,⽽单词 login 则让它将请求发送给 Django 的默认视图 login。
09-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值