Django urls 路由系统

  • 写url和视图的的对应关系
    from django.conf.urls import url
    from django.contrib import admin
    from app名 import views
    urlpatterns = [

    # FBV 写法
        url(r'^admin/', admin.site.urls), # admin 后台管理
        # 对应 视图中的函数
        url(r'login/', views.login, name='login'),  
    	# 正则分组     
        url(r'del_(student|teacher|class)/(\d+)/', views.delete, name='del'),
    	# 正则命名分组
        url(r'^data/(?P<aaa>\d{5})/(?P<bbb>\d{2})/$', views.data, name='data'),
        
        # name='login'  url命名  用于 地址的反向解析
    # CBV 写法
      	# 在views.py文件中 写一个类 继承 View 其中写 get post 方法  
        #  导入方法from django.views import View
        url(r'index/', views.类名.as_view(), name='index'),
    	
    ]
    
  • url路由分发
    from django.conf.urls import url, include
    from django.contrib import admin
    from crm import views

    urlpatterns = [
        url(r'^admin/', admin.site.urls),
    
        url(r'^show/', include('app名.urls文件名', namespace='show')),
        # namespace='show' 命名空间 
    ]
    
  • URL的命名和反向解析
    普通url

    1. 命名
           url(r'^publisher_list/', views.publisher_list, name='publisher'),
    2. 使用
       视图中使用:
       	1.from django.urls import  reverse
       	reverse('publisher')   ——》 ‘/app01/publisher_list/’
       模板中使用:
       	{% url 'publisher' %}   ——》 ‘/app01/publisher/’
    
    2.使用分组
    
    	url(r'^blog/(\d{4})/([1-9]{2})/$', views.blog, name='blog')
    
    	视图中使用
    
    	reverse('blog',args=('2018','12'))         ‘/blog/2018/12/'
    
    	模板中使用
    
    	{% url  ’blog‘  ’2018‘  ’12‘  %}    
    
    3.使用命名分组
    
    	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/'
    
posted @ 2018-12-21 21:01  拐弯  阅读(143)  评论(0编辑  收藏  举报