diango url的命名和反向解析

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',)) 
posted @ 2019-12-19 21:22  谢国宏  阅读(222)  评论(0编辑  收藏  举报