一 簡單的路由配置
from django.conf.urls importurlviews
urlpatterns =[
path('/
',views.index)
]
二 有名分組
先欠著三 分發
from django.conf.urls importinclude, 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 importurlfrom . 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...