1. 程式人生 > 其它 >django url反向解析

django url反向解析

url反向解析

  • 程式碼中出現url得位置

    1. 模板 html中
      1. <a href='url'>
      2. <form action='url' method=post>
    2. 檢視函式中302跳轉 HttpResponseRedirect('url')
  • URL書寫規範

    • 絕對地址
    • 相對地址
      • /page/1 '/'開頭得相對地址,瀏覽器會把當前位址列得協議、ip和埠號加上這個地址,作為最終得訪問地址
      • page/1 沒有'/'開頭得相對地址,瀏覽器會根據url得最後一個'/'之前得內容加上該地址作為最終訪問地址
  • URL反向解析

    • 反向解析是指在檢視或模板中,使用path定義得名稱來動態查詢或計算出響應得路由

    • path函式語法

      • path(route,views,name='別名')
    • 根據path中name=關鍵字傳遞引數書給URL確定了一個唯一確定得名字,在模板或檢視中,可以通過這個名字反向推斷出此url資訊

    • 在模板中 - 通過url標籤實現地址得反向解析

      • {% url '別名' %}
      • {% url '別名' '引數值1' '引數值2' %}
    • 在檢視函式中, 可呼叫django中reverse方法進行反向解析

      from django.url import reverse
      reverse('別名',args=[],kwargs={})
      
      print(reverse('page',args=[100]))
      print(reverse('page',kwargs={'name':'小明','age':22}))