django url別名和反向解析 命名空間

2022-06-30 06:12:08 字數 1773 閱讀 3903

我們平時寫的url名字都是死的,如果專案過大,需要專案中某個檔名改動一下,那麼改動起來就不是一般的麻煩了,所以我們就在定義的時候給url起乙個別名,以後不管哪個檔案中運用都是用它的別名,這樣就方便多了,你的路徑名不管怎麼改變都不會影響你的操作

如何給你url起別名

url(r'^home1/',views.home,name='home'),

# 像這樣,在url後邊加乙個name叫做home,之後再其他的檔案中需要引用這個url就可以直接使用別名

url(r'^home1/(\d+)',views.home,name='home'),

# 如果分組傳引數的這種url要怎麼去應用呢

別名的使用(反向解析

#在檔案中使用時,我們需要匯入乙個django的模組,這個模組就是專門用來負責反向解析別名的

from django.urls import reverse

#使用如下

reverse('別名')

#例如:

return redirect(reverse('home')) ---- 翻譯成 /home1/

# 我們只需要在需要使用這個檔案的時候將這個檔案的別名使用reverse()方法反解析出來就行了

或者直接可以寫成 return redirect('home') 不需要使用serverse也可以解析出來

# 在html檔案中的引用

主頁面 ---- 翻譯成 /home1/

#使用url對這個別名進行解析

#帶引數的反向解析:

reverse('index',args=(10,11,)) -- /index2/10/

#帶引數的反向解析:

例如: -- /index2/10/ hhh

路由分發

如何解決這個問題呢?

#我們可以在每個應用下都寫上乙個urls.py檔案,在這個檔案中寫入我們需要用到的url,

# 但是瀏覽器找的url時會從你的專案檔案urls檔案去找,那麼我們需要在專案的urls檔案也配置一下

# 首先匯入乙個包,專門負責路由分發的

from django.conf.urls import include

#所以我們在專案下的urls檔案中寫url時這樣寫:

urlpatterns = [

]

urlpatterns = [

# url(r'^admin/', admin.site.urls),

url(r'^home1/',views.home,name='home1'),

]urlpatterns = [

# url(r'^admin/', admin.site.urls),

url(r'^home2/',views.home,name='home1'),

]命名空間

由於我們在做專案時會給url起別名,如果有多個應用的url別名一樣,那麼就會出現查詢的檔案不對,出現錯誤

這樣我們就需要在專案的urls檔案中在改變一下配置了

urlpatterns = [

]

在應用的時候:

#html檔案中

# 在別名的前面你需要加上這個命名空間的名稱

#在後端的檔案中

django url反向解析

引子 天冷,依舊是複習 html 首頁反向解析 反向解析 view def test request 反向解析 param request return 實際反向解析就是調取了 reverse from django.urls import reverse 實際上就會 到url 根據reverse ...

Django學習筆記 url反向解析(別名用法)

最近在學習django,練習登入頁面,當遇到要修改某一單個頁面位址時,在後台修改很容易。但是遇到要修改大量urls時,也就是在遇到要修改大量的檢視函式時,修改起來就非常麻煩。也就是希望不要硬編碼這些url,因為它費力 不可擴充套件且容易產生錯誤。以下是示例 乙個簡單的登入頁面 django 版本1....

設定臨時別名和永久別名

1.臨時別名的設定與刪除 設定臨時別名 xf xuexi alias vimens33 vim etc sysconfig network scripts ifcfg ens33 xf xuexi vimens33 vimens33可以直接執行了,注意別名不能和已存在的別名或命令相同 刪除臨時別名 ...