最近在學習django,練習登入頁面,當遇到要修改某一單個頁面位址時,在後台修改很容易。但是遇到要修改大量urls時,也就是在遇到要修改大量的檢視函式時,修改起來就非常麻煩。也就是希望不要硬編碼這些url,因為它費力、不可擴充套件且容易產生錯誤。
以下是示例:乙個簡單的登入頁面(django 版本1.8.2,python 版本3.7)
1、基本語法:
urls.py
from django.conf.urls import include, url
from django.contrib import admin
urlpatterns =
[ url(r'^login/'
, views.login, name=
"***"),
# 給url起別名,"***"對應的路徑就是:login.html"中的"
#
注意:
1、在html檔案中,"" 這是django別名的特殊語法。
2、在urls.py中的:name=「***」 要與login.html檔案中的 ""必須一致,否則會報錯。
2、基本流程:
1 後台路徑,也就是在urls.py中,url(r』^login/』, views.login, name=「***」),不論此處url路徑如何進行修改,前台訪問的路徑不變,始終是"login.html"。
2 前台再去views.py中調取函式方法:return render(request, 「login.html」)對應的的url引數,也就是"login.html",解析後再返回給瀏覽器,最終呈現想要的頁面。
結果:在瀏覽器中測試正常,這裡用的是login替換了原始的urls。
ps:本人純屬剛剛學習python的小白,此文只是在學習中遇到了問題,特地把筆記分享出來,歡迎各位老師大神指正,共同學習,非常感謝!
Django之URL反向解析
在反向解析和命名空間之前我們先來說說urls硬編碼,用django 開發應用的時候,可以完全是在urls.py 中硬編碼配置位址,在views.py中httpresponseredirect 也是硬編碼轉向位址,當然在template 中也是一樣了,這樣帶來乙個問題,如果在urls.py 中修改了某...
Django之url反向解析
在urls.py檔案中,在進行url對映時,為請求的url命個名,以便在模板頁面或者views.py檢視中可以進行反向解析,同時在修改了url對映的請求路徑,名稱不變的情況下,不再修改模板頁面或者檢視中的資料,專案不受影響正常執行!url標籤中使用模板變數 和普通標籤引數一樣,空格隔開,即可。url...
django之url反向解析
在django中需要url 的地方,對於不同層級,django 提供不同的工具用於url 反查 1 在模板中 使用url 模板標籤。2 在python 中 使用 django.core.urlresolvers.reverse 函式。mydjango db.sqlite3 manage.py myd...