Django之路由層

1、前言正則表達式

2、基礎的路由配置django

3、有名分組app

4、分發函數

5、反向解析網站

6、名稱空間this

 

1、前言

  路由層即 URL配置( URLconf ),是Django所支撐的網站的目錄。它的本質是URL與該URL調用的視圖函數之間的映射關係,用戶輸入(客戶端)須要訪問的網頁url,而後它(URL控制器)告訴Django,調用對應的邏輯代碼對應執行。url

 

2、基礎的路由配置

 url控制器

from django.urls import path,re_path
from app1 import views

urlpatterns = [
    re_path(r'^artices/2018/$',views.paper_2018), # '^'匹配開頭,‘$’匹配u末尾 views.paper_2018(request)
    re_path(r'^artices/([0-9]{4})/$',views.paper_2018), # [0-9]{4}表示0到9之間的數反覆出現4次 views.paper_2018(request,year)
    re_path(r'^artices/([0-9]{4})/([0-9]{2})/$',views.paper_2018), # [0-9]{2}表示0到9之間的數反覆出現2次 views.paper_2018(request,year,month)
    re_path(r'^artices/([0-9]{4})/([0-9]{2})/([0-9]+)$',views.paper_2018), # [0-9]+ 表示0到9之間的數出現1次以上 views.paper_2018(request,year,month,day)

]

  views視圖

from django.shortcuts import render,HttpResponse

def paper_2018(request):

    return HttpResponse('Hello world,this is my first paper in 2018!')


def paper_2018(request,year):

    return HttpResponse('Hello world,this is my first paper in %s!'%year)


def paper_2018(request,year,month):

    return HttpResponse('Hello world,this is my first paper in %s-%s!'%(year,month))


def paper_2018(request,year,month,day):

    return HttpResponse('Hello world,this is my first paper in %s-%s-%s!'%(year,month,day))

  注意: 若要從URL 中捕獲一個值,只須要在它周圍放置一對圓括號。 不須要添加一個前導的反斜槓,由於每一個URL 都有。例如,應該是^articles 而不是 ^/articles。 每一個正則表達式前面的'r' 是可選的可是建議加上。它告訴Python 這個字符串是「原始的」 —— 字符串中任何字符都不該該轉義。spa

   未完,待續...code

相關文章
相關標籤/搜索