Django專案 反向解析url

2022-10-09 11:24:11 字數 810 閱讀 1934

在專案過程中,urlspy 檔案中的 url都是寫死的 ,如果修改其中的url  那麼其他用到這個url的地方都會報錯

本質:給url匹配模式起別名 ,然後通過別名拿到具體的url路徑

解決方法:在url匹配模式中,定義 name = "別名"

示例:urls.py檔案中修改:

urlpatterns = [
path('add_publist/', views.add_publist,name="add_publist"),  # 新增出版社資訊

]html頁面修改如下:

原本:

新增出版社

修改後:

">新增出版社

views.py檔案修改如下:

from django.urls import reverse #這裡需要匯入

def add_publist(request):

if request.method == "post":

new_name = request.post.get("pub_name") # 取出新建立的出版社名稱

models.publisher.objects.create(name=new_name) # 在表中建立新的出版社名稱

redirect_url = reverse("publist")

return redirect(redirect_url)

# 請求為get時 返回乙個頁面

return render(request, "add_publist.html")

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...