1. 程式人生 > >Django學習--路由元件

Django學習--路由元件

路由命名與reverse反解析

1.路由命名

有時候我們在需要在請求之間的跳轉的時候,會使用重定向來實現,重定向需要傳入路由地址作為引數,但是往往路由地址複雜的時候,我們無法確定路由地址.所以我們會使用reverse函式根據路由名字來反向解析出具體的路由地址.

  1. 路由名字設定

    在應用的url中傳入第三個引數,name=’路由名字’

    如: url=(‘路由地址’,檢視函式名,name=’路由名字’)

    設定路由名:

    11.png

    通過reverse反向獲取路由地址:

    222.png

    列印路由地址:

    333.png

  2. 路由namespace
    在多應用的時候,為了防止出現路由名重複現象,我們在專案中urls中通過include中的namespace引數來區分不同應用的路由名

    2.1.png

    通過reverse函式來反向解析的時候需要通過namespace:路由名,來獲取到路由地址

    2.3.png

    2.2.png

總結:

  • 指定路由名,需要在應用中的url中指定第三個引數,name = 路由名
  • 在多應用之間,我們為了防止出現路由名,重複現象,我們在專案的urls中的include指定第二個引數namespace = ‘應用名’
  • 沒有指定namespace的時候,通過reverse(路由名) 可以反向解析出具體的路由地址
  • 指定namespace的時候,reverse(namespace:路由名) 來反向解析出路由地址