url的命名和反向解析

静态路由

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

反向解析ht

模板

{% url 'login' %}   ——》  '/app01/login/'

py文件

from django.urls import reverse
reverse('login')   ——》  '/app01/login/'

分组路由

位置传参

url(r'^del_publisher/(\d+)/', views.del_publisher,name='del_pub'),
#分组后从url中捕获参数,捕获的参数会按照 位置传参 传递给函数

关键字传参

url(r'^del_publisher/(?P<pk>\d+)/', views.del_publisher),
#分组后从url中捕获参数,捕获的参数会按照 关键字传参 传递给函数

反向解析

模板

{% url 'del_pub' '1' %}   ——》  '/app01/del_publisher/1/'

py文件

from django.urls import reverse
reverse('del_pub',args=('1',))   ——》  '/app01/del_publisher/1/'

命令分组 路由

url(r'^del_publisher/(?P<pk>\d+)/', views.del_publisher,name='del_pub'),

反向解析

模板

{% url 'del_pub' '1' %}   ——》  '/app01/del_publisher/1/'     位置传参
{% url 'del_pub' pk='1' %}   ——》  '/app01/del_publisher/1/'  关键字传参

py文件

from django.urls import reverse
reverse('del_pub',args=('1',))   ——》  '/app01/del_publisher/1/'    位置传参
reverse('del_pub',kwargs={'pk':'1'})   ——》  '/app01/del_publisher/1/'  关键字传参

namespace

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^app01/',include('app01.urls',namespace='app01' )),
    url(r'^app02/',include('app02.urls',namespace='app02')),
]
{% url 'app01:del_pub' '1' %}
reverse('app01:del_pub',args=('1',)) 
12-25 07:52