国产探花免费观看_亚洲丰满少妇自慰呻吟_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也匹配第二種模式,它會先匹配上面的模式。 (這是短路邏輯。)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 尼木县| 卢氏县| 玉环县| 河间市| 平度市| 轮台县| 织金县| 始兴县| 伊金霍洛旗| 电白县| 九寨沟县| 怀化市| 临夏市| 岢岚县| 永新县| 建宁县| 辽宁省| 东阿县| 孝感市| 贡山| 雷波县| 麻城市| 阳新县| 通州市| 申扎县| 博爱县| 清水河县| 西乡县| 五河县| 新民市| 江达县| 临漳县| 句容市| 兴义市| 平塘县| 丹江口市| 西峡县| 辽中县| 朔州市| 榕江县| 克拉玛依市|