1. 程式人生 > >orm之路由層

orm之路由層

一、簡單配置

1.引數

第一個引數是正則表示式(如果要精準匹配:‘^publish/$’)

第二個引數是檢視函式(不要加括號)

2.有名無名分組

注意有名分組和無名分組不要混用,無名分組必須要按位置傳參

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^publish/[0-9]{4}/$', views.publish),#匹配四位數字
    url(r'^publish/(?P<year>[0-9]{4})/(?P<month>[0-9]{4}/)', views.add),#
有名分組,會進行傳參,add函式裡,形參變數必須是year,month url(r'^add/\d+/$',views.add),#匹配任意長度的數字 url(r'^flash/([0-9]{4})/([0-9{2}])',views.flash)#進行分組,這是無名分組,分組後會按位置進行傳參,傳到檢視函式views.flash裡 ]
View Code

3.反向解析

先在路由層urls命一個名

  1)無引數:url(r"^/publish/",views.publish,name='ddd')

  2)無名分組:url(r“^publishadd/([0-9]{4})/([0-9]{2})”,views.publish,name='ddd')

  3)有名分組:url(r'^publishadd/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})',views.publish,name='ddd')

在模板層:

  1)無引數:{% url 'ddd' %}

  2)無名分組:{% url 'ddd' 2018 12 %}  在ddd後面直接傳參

  3)有名分組:方式1:{% url ‘ddd’ 2018 12 %}按位置傳參也可以

          方式2:{% url ‘ddd’ year=2018 month=12 %}

在檢視層:

  from django.shortcuts import reverse

  在檢視函式裡:

  1)無引數:url=reverse(‘ddd’)

  2)無名分組:url=reverse('ddd',args=(2018,12))

  3)有名分組:url=reverse('ddd',args=(2018,12))還可以

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

4.路由分發

隨著專案越寫越大,會創建出多個app,app下面會有urls,這時對路由進行分發,可以細分管理好專案。

步驟:

  1)在總路由寫相關配置

  from django.conf.urls import include

  url(r'^blog/',include('blog.urls'))

  url(r'^app01/',include('app01.urls'))

  2)在不同的app的urls裡配置路由關係

  ****重點****總路由,不能加結束符$