Django的路由層

2022-08-02 08:24:08 字數 2441 閱讀 6838

一 簡單的路由配置

from django.conf.urls import

urlviews

urlpatterns =[

path('/

',views.index)

]

二 有名分組

先欠著三 分發

from django.conf.urls import

include, url

urlpatterns =[

url(r

'^admin/

', admin.site.urls),

url(r

'^blog/

', include('

blog.urls

')), #

include 就是分發

]

四 反向解析

反向**的作用是 當有乙個需求或多個需求導致url的改變,也就是修改原來url,以獲取新的url最終形式,以用於切入到生成的內容中,人們不希望乙個個的去修改這些url(就是硬編碼url)。

因此 在需要url的地方,對於不同層級,django提供不同的工具用於url反查,反向解析有兩種方式:

1 在模板中:使用url模板標籤

2 在python中:使用django.core.urlresolvers.reverse()函式

urls.py

from django.conf.urls import

urlfrom . import

views

urlpatterns =[

url(

'/index

', views.index, name='

indexs'),

]

方式一:python的檢視函式中(使用reverse反向解析):

from django.core.urlresolvers import reverse  #

reverse就是反向解析

## 同redirect("/index")

方式二:在模板中使用(使用url):

"

">2012 archive

#在模板中 url 就是反向解析

注意;當命名你的url 模式時,請確保使用的名稱不會與其它應用中名稱衝突。如果你的url 模式叫做comment,而另外乙個應用中也有乙個同樣的名稱,當你在模板中使用這個名稱的時候不能保證將插入哪個url。在url 名稱中加上乙個字首,比如應用的名稱,將減少衝突的可能。

五 命名空間

命名空間是表示識別符號的可見範圍。乙個識別符號可在多個命名空間中定義,它在不同命名空間中的含義是互不相干的。這樣,在乙個新的命名空間中可定義任何識別符號,它們不會與任何已有的識別符號發生衝突,因為已有的定義都處於其它命名空間中。

project的urls.py

urlpatterns =[

url(r

'^admin/

', admin.site.urls),

url(r

'', include("

",namespace="

")),

url(r

'', include("

",namespace="

")),]#

namespace 就是命名空間

Django的日常 路由層

目錄反向解析 路由的分發 我們之前已經接觸過路由層,只是我們可能不知道他叫這個名字,實際上在django裡面路由層指的就是urls.py這個檔案.路由的概念是什麼,我們平時生活中接觸最多的和路由有關的大概就是路由器了,那麼路由器是幹嘛的?路由器是連線多個網路的硬體裝置,在網路之間起到閘道器的作用,可...

django之路由層

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

5 Django 1 的路由層

url就像django 所支撐 的目錄。它的本質是url與要為該url呼叫的檢視函式之間的對映表 你就是以這種方式告訴django,對於客戶端發來的某個url呼叫哪一段邏輯 對應執行。from django.conf.urls import url from import views urlpatt...