8.url路由

1、单一路由对应

url(r'^index/$', views.index),

这里要注意的是,/$ 表示只有只/结尾的才有效,如果把$符号去掉的话,只要是以index/开头都会匹配到这个url

   

2、基于正则的路由

   

url(r'^index/(\d*)', views.index),

url(r'^manage/(?P<name>\w*)/(?P<id>\d*)', views.manage),

   

3、添加额外的参数

   

url(r'^manage/(?P<name>\w*)', views.manage,{'id':333}),

   

4、为路由映射设置名称

   

url(r'^home', views.home, name='h1'),

url(r'^index/(\d*)', views.index, name='h2'),

设置名称之后,可以在不同的地方调用,如:

   

模板中使用生成URL {% url 'h2' 2012 %}

函数中使用生成URL reverse('h2', args=(2012,)) 路径:django.urls.reverse,必须用django提供的reverse方法。

   

5、根据app对路由规则进行分类

   

在主url.py中进行设置

url(r'^org/', include('organization.urls',namespace='org')),

   

organization.urls表示文件名,也就是说只要是org这个域里的url我都到organization.urls这个文件去找。比如 www.127.0.0.1:8000/org/list/ 等

   

6、命名空间

   

a. project.urls.py

   

from django.conf.urls import url,include

 

urlpatterns = [

url(r'^a/', include('app01.urls', namespace='author-polls')),

url(r'^b/', include('app01.urls', namespace='publisher-polls')),

]

   

   

   

以上定义带命名空间的url之后,使用name生成URL时候,应该如下:

v = reverse('author-polls:detail', kwargs={'pk':11})

{% url 'author-polls:detail' pk=12 pp=99 %}

   

转载于:https://www.cnblogs.com/liuqianli/p/8975562.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值