国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Django框架中處理URLconf中特定的URL的方法

2020-01-04 18:01:57
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Django框架中處理URLconf中特定的URL的方法,Django是豐富多彩的Python框架中最具人氣的一個,需要的朋友可以參考下


有時你有一個模式來處理在你的URLconf中的一系列URL,但是有時候需要特別處理其中的某個URL。 在這種情況下,要使用將URLconf中把特殊情況放在首位的線性處理方式 。
比方說,你可以考慮通過下面這個URLpattern所描述的方式來向Django的管理站點添加一個目標頁面
 
  1. urlpatterns = patterns(''
  2.   # ... 
  3.   ('^([^/]+)/([^/]+)/add/$', views.add_stage), 
  4.   # ... 

這將匹配像 /myblog/entries/add/ 和 /auth/groups/add/ 這樣的URL 。然而,對于用戶對象的添加頁面( /auth/user/add/ )是個特殊情況,因為它不會顯示所有的表單域,它顯示兩個密碼域等等。 我們 可以 在視圖中特別指出以解決這種情況:
 
  1. def add_stage(request, app_label, model_name): 
  2.   if app_label == 'auth' and model_name == 'user'
  3.     # do special-case code 
  4.   else
  5.     # do normal code 

不過,就如我們多次在這章提到的,這樣做并不優雅: 因為它把URL邏輯放在了視圖中。 更優雅的解決方法是,我們要利用URLconf從頂向下的解析順序這個特點:
 
  1. urlpatterns = patterns(''
  2.   # ... 
  3.   ('^auth/user/add/$', views.user_add_stage), 
  4.   ('^([^/]+)/([^/]+)/add/$', views.add_stage), 
  5.   # ... 


在這種情況下,象 /auth/user/add/ 的請求將會被 user_add_stage 視圖處理。 盡管URL也匹配第二種模式,它會先匹配上面的模式。 (這是短路邏輯。)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 渑池县| 安顺市| 平舆县| 名山县| 宜宾县| 深泽县| 南昌县| 隆子县| 禄劝| 孝义市| 万全县| 扎囊县| 新丰县| 乐业县| 荆州市| 安远县| 岫岩| 剑河县| 保康县| 正宁县| 芦溪县| 威远县| 平定县| 旺苍县| 景泰县| 文登市| 油尖旺区| 南岸区| 黔西县| 天等县| 紫金县| 襄城县| 陈巴尔虎旗| 建平县| 虹口区| 彰化县| 南靖县| 左云县| 广昌县| 华容县| 波密县|