Django框架中處理URLconf中特定的URL的方法
有時(shí)你有一個(gè)模式來處理在你的URLconf中的一系列URL,但是有時(shí)候需要特別處理其中的某個(gè)URL。 在這種情況下,要使用將URLconf中把特殊情況放在首位的線性處理方式 。
比方說,你可以考慮通過下面這個(gè)URLpattern所描述的方式來向Django的管理站點(diǎn)添加一個(gè)目標(biāo)頁面
urlpatterns = patterns('', # ... ('^([^/]+)/([^/]+)/add/$', views.add_stage), # ... )
這將匹配像 /myblog/entries/add/ 和 /auth/groups/add/ 這樣的URL 。然而,對于用戶對象的添加頁面( /auth/user/add/ )是個(gè)特殊情況,因?yàn)樗粫@示所有的表單域,它顯示兩個(gè)密碼域等等。 我們 可以 在視圖中特別指出以解決這種情況:
def add_stage(request, app_label, model_name): if app_label == 'auth' and model_name == 'user': # do special-case code else: # do normal code
不過,就如我們多次在這章提到的,這樣做并不優(yōu)雅: 因?yàn)樗裊RL邏輯放在了視圖中。 更優(yōu)雅的解決方法是,我們要利用URLconf從頂向下的解析順序這個(gè)特點(diǎn):
urlpatterns = patterns('', # ... ('^auth/user/add/$', views.user_add_stage), ('^([^/]+)/([^/]+)/add/$', views.add_stage), # ... )
在這種情況下,象 /auth/user/add/ 的請求將會被 user_add_stage 視圖處理。 盡管URL也匹配第二種模式,它會先匹配上面的模式。 (這是短路邏輯。)
相關(guān)文章
python使用ctypes模塊調(diào)用windowsapi獲取系統(tǒng)版本示例
這篇文章主要介紹了python使用ctypes模塊調(diào)用windowsapi獲取系統(tǒng)版本示例,需要的朋友可以參考下2014-04-04Python解方程組 scipy.optimize.fsolve()函數(shù)如何求解帶有循環(huán)求和的方程式
這篇文章主要介紹了Python解方程組 scipy.optimize.fsolve()函數(shù)如何求解帶有循環(huán)求和的方程式,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06python中threading和queue庫實(shí)現(xiàn)多線程編程
這篇文章主要介紹了python中threading和queue庫實(shí)現(xiàn)多線程編程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02Python編程中*args與**kwargs區(qū)別作用詳解
這篇文章主要介紹了Python編程中*args與**kwargs區(qū)別作用詳解2021-10-10一個(gè)基于flask的web應(yīng)用誕生 flask和mysql相連(4)
一個(gè)基于flask的web應(yīng)用誕生第四篇,這篇文章主要介紹了如何讓flask和mysql進(jìn)行互聯(lián),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04python中的load、loads實(shí)現(xiàn)反序列化示列
這篇文章主要介紹python中的load、loads實(shí)現(xiàn)反序列化,在python自動化中,我們傳遞一些參數(shù)是需要從文件中讀取過來的,讀取過來的字典并非python對象數(shù)據(jù)類型而是string類型,下面來看詳情內(nèi)容吧2021-10-10Python Pandas list列表數(shù)據(jù)列拆分成多行的方法實(shí)現(xiàn)
這篇文章主要介紹了Python Pandas list(列表)數(shù)據(jù)列拆分成多行的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12