URL的命名和反向解析

1. 分组

    url(r'^del_publisher/(\d+)', views.del_publisher),

    匹配到参数,按照位置参数的方式传递给视图函数  视图函数需要定义形参接收变量  

2. 命名分组

    url(r'^blog/(?P<year>\d{4})/[1-9]{2}/$', views.blog)

    匹配到参数,按照关键字参数的方式传递给视图函数  视图函数需要定义关键字参数

3. 从URL上捕获的参数都是字符串类型

4. include其他的urls.py

from django.conf.urls import url,include
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'app01/',include('app01.urls')),
    url(r'app02/',include('app02.urls'))
]

 

5. URL的命名和反向解析 ***
普通url情况:

  命名

url(r'^publisher_list/', views.publisher_list, name='publisher'),

  使用

  视图函数中views 使用

rom django.urls import  reverse

    reverse('publisher')   ——》 ‘/app01/publisher_list/’

  在模板 html中的使用

{% url 'publisher' %}   ——》 ‘/app01/publisher/’

使用分组:

    url(r'^blog/(\d{4})/([1-9]{2})/$', views.blog, name='blog')
    

    视图中使用

    reverse('blog',args=('2018','12'))         ‘/blog/2018/12/'
    

    模板中使用

    {% url  ’blog‘  ’2018‘  ’12‘  %}    

使用命名分组

    url(r'^blog/(?P<year>\d{4})/(?P<month>[1-9]{2})/$', views.blog, name='blog')
  

    视图中使用

    reverse('blog',args=('2018','12'))         ‘/blog/2018/12/'

    reverse('blog', kwargs={'month': '12', 'year': '2018'})
   

    模板中使用

    {% url 'blog'  '2018' '12' %}   ——》 ‘/blog/2018/12/'

    {% url 'blog'  year='2018' month='12' %}    ——》  ‘/blog/2018/12/' 

    {% url 'blog'  month='12' year='2018'  %}    ——》  ‘/blog/2018/12/'

 

6. namespace

url(r'app01/',include('app01.urls',namespace='app01')),
url(r'app02/',include('app02.urls',namespace='app02'))
url(r'^home/$', views.home, name='home'),   # app01
视图:  

    reverse(’app01:home‘)    ——》 /app01/home/

    reverse(’app02:home‘)    ——》 /app02/home/

模板:

    {% url 'app01:home' %}   —》 /app01/home/

 

转载于:https://www.cnblogs.com/kenD/p/10073658.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值