我們平時寫的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可以直接執行了,注意別名不能和已存在的別名或命令相同 刪除臨時別名 ...