Django框架之路由

2022-08-23 00:36:10 字數 1599 閱讀 8042

路由就是請求位址與檢視函式的對映關係

urls.py

url('^index$', view.index)   # djaogo框架中必會技能

# 正規表示式, 檢視函式

views.py

def article(request):

return render(request, 'index.html')

我們知道在正規表示式中是可以進行分組操作的,那麼我們的django框架也是支援對路由位址進行分組操作,這裡的分組操作有兩種方式,一種是有名分組,一種是無名分組

有一天你正在寫**,寫著寫著,突然專案經理進來跟你說了一句,要改需求。。。

我們需要將你的url位址改一下,改成客戶要求的形式。。。

emmmm,可能當時我們沒有什麼感覺,哦,原來只是改一下介面位址。

但是一細想,有種毛骨悚然的感覺,改這個需求相當於是要將所有的html檔案的請求位址更改。-_-

這個時候如果有經驗的人絕對不會將url位址直接寫死在html檔案中,要不然等什麼時候有這種需求的時候會死人。

而django可以幫助我們去動態解析url位址,稱之為反向解析

是不是感覺很高大上,其實我們只需要在寫url的時候為url匹配規則設定乙個別名

urls.py

url('^index/$', view.index, name="index")

url('^asdf/', view.login, name="login_page") # 為等下的後端反向解析做準備

現在我們將路由配置好了就需要為其他地方配置反向解析

但是這樣是沒問題了,那麼路由經過了分組也可以這麼做麼?也是可以的,只是需要將反向解析的內容修改下就好了。

這個時候urls.py的內容不需要該變,前端頁面的請求位址也不需要改變。只需要在reverse中新增你獲取到的值就好了

def index(request, number):

reverse('login_page', number) # 只需要將接受到的分組後的值加到後面就可以了

return redirect("login_page")

隨著我們的專案越做越大,專案中的應用數可能多不勝數,更不要說是路由配置了,這個就是更加龐大了。這個時候我們就需要路由分發了。

路由分發就是講請求分發到各個應用中讓各個應用的路由來負責各個請求的詳細分發。

這個就要有乙個概念,就是每個應用中都是可以擁有自己的urls.py,templates資料夾,以及static資料夾。

我們需要在專案的urls.py檔案中引入應用的url,再在應用中的urls.py中詳細分發各個請求

專案下的urls.py

from django.conf.urls import url,include
應用下的urls.py

from django.conf.urls import url

url(r'^index/$', views.index)

這樣我們就可以實現路由分發了

Django 03 django框架之路由系統

簡介 使用index和login檢視舉例詳解了django框架路由系統的6種常用場景。return httpresponse s,歡迎登入 username else return httpresponse 使用者名稱和密碼錯誤 urls.py1.直接匯入views.py中的方法名 from web...

Django 之路由篇

django 之檢視篇 django 之 models models 模型 資料表關係 django 之模板篇 參考資料 pip install django 1.8 路由需要關注兩點 接受的url是什麼,即如何使用re對傳入url進行匹配 已知url匹配到哪個處理模組 url匹配規則 正則以r開頭...

django之路由層

1.django中urls.py負責url的路由分發urlpatterns url r admin admin.site.urls url的第乙個引數實際為乙個正規表示式,第二個引數為檢視函式。瀏覽器訪問時,會遍歷該列表,匹配到則終止,不再往下匹配。當使用者訪問的url不存在時,django會嘗試將...