奇酷教育-Python培训|UI培训|WEB大前端培训|Unity3D培训|HTML5培训|人工智能培训|JAVA开发的教育品牌

您現在所在的位置:首頁 >學習資源 > Python全棧+人工智能入門教材 > Python基礎入門教程71:設計 URL 方案

Python基礎入門教程71:設計 URL 方案

來源:奇酷教育 發表于:

設計 URL 方案Django URL 分發系統使用了正則表達式配置模塊,它可以將 URL 字符串模式映射為 Python 方法views。這個系統允許 UR

設計 URL 方案

Django URL 分發系統使用了正則表達式配置模塊,它可以將 URL 字符串模式映射為 Python 方法 views。這個系統允許 URL 與底層代碼完全脫節,從而實現最大的控制和靈活性。

urls.py 模塊被創建和定義成 URL 配置的默認起點(通過 settings.py 模塊中的 ROOT_URLCONF 值)。URL 配置文件的惟一要求是必須包含一個定義模式 urlpatterns 的對象。

這個職位公告板應用程序會在啟動時打開一個索引和一個詳細視圖,它們可以通過以下的 URL 映射進行訪問:

  • /jobs 索引視圖:顯示最近的 10 個職位
  • /jobs/1 詳細視圖:顯示 ID 為 1 的職位信息

這兩個視圖(索引視圖和詳細視圖)都是在這個 jobs 應用程序的 views.py 模塊中實現的。在項目的 urls.py 文件中實現這種配置看起來如下所示:

清單 21. 在 djproject/urls.py 中實現視圖的配置
1
2
3
4
5
6
7
8
from django.conf.urls.defaults import *
 
urlpatterns = patterns('',
    (r'^admin/', include('django.contrib.admin.urls.admin')),
 
    (r'^jobs/$', 'djproject.jobs.views.index'),
    (r'^jobs/(?P<job_id>\d+)/$', 'djproject.jobs.views.detail'),
)

注意 <job_id> 部分,這在后面非常重要。

最佳實踐是提取出應用程序特有的 URL 模式,并將它們放入應用程序自身中。這樣可以取消應用程序與項目的耦合限制,從而更好地實現重用。jobs 使用的應用程序級的 URL 配置文件如下所示:

清單 22. 應用程序級的 URL 配置文件 urls.py
1
2
3
4
5
6
from django.conf.urls.defaults import *
 
urlpatterns = patterns('',
    (r'^$', 'djproject.jobs.views.index'),
    (r'^(?P<job_id>\d+)/$', 'djproject.jobs.views.detail'),
)

由于 view 方法現在都是來自同一個模塊,因此第一個參數可以使用這個模塊的根名稱來指定 djproject.jobs.views,Django 會使用它來查找 index 方法和 detail 方法:

清單 23. jobs/urls.py:查找 index 和 detail 方法
1
2
3
4
5
6
from django.conf.urls.defaults import *
 
urlpatterns = patterns('djproject.jobs.views',
    (r'^$', 'index'),
    (r'^(?P<object_id>\d+)/$', 'detail'),
)

嘗試上面的 jobs URL 會返回到這個項目中,因為它們是使用 include 函數將其作為一個整體來實現的。應用程序級的 URL 被綁定到下面的 /jobs 部分:

清單 24. djproject/urls.py:將 URL 送回該項目
1
2
3
4
5
6
from django.conf.urls.defaults import *
 
urlpatterns = patterns('',
    (r'^admin/', include('django.contrib.admin.urls.admin')),
    (r'^jobs/', include('djproject.jobs.urls')),
)

如果現在嘗試使用測試服務器來訪問索引頁(http://localhost:8000/jobs),會得到一個錯誤,因為正在調用的視圖(djproject.jobs.views.index)不存在。

主站蜘蛛池模板: 玉米深加工设备-玉米深加工机械-新型玉米工机械生产厂家-河南粮院机械制造有限公司 | 集装袋吨袋生产厂家-噸袋廠傢-塑料编织袋-纸塑复合袋-二手吨袋-太空袋-曹县建烨包装 | 北京办公室装修,办公室设计,写字楼装修-北京金视觉装饰工程公司 北京成考网-北京成人高考网 | 安平县鑫川金属丝网制品有限公司,声屏障,高速声屏障,百叶孔声屏障,大弧形声屏障,凹凸穿孔声屏障,铁路声屏障,顶部弧形声屏障,玻璃钢吸音板 | 特材真空腔体_哈氏合金/镍基合金/纯镍腔体-无锡国德机械制造有限公司 | 防火窗_耐火窗_防火门厂家_防火卷帘门-重庆三乐门业有限公司 | 派克防爆伺服电机品牌|国产防爆伺服电机|高低温伺服电机|杭州摩森机电科技有限公司 | 西门子伺服电机维修,西门子电源模块维修,西门子驱动模块维修-上海渠利 | 耐火砖厂家,异形耐火砖-山东瑞耐耐火材料厂 | SDG吸附剂,SDG酸气吸附剂,干式酸性气体吸收剂生产厂家,超过20年生产使用经验。 - 富莱尔环保设备公司(原名天津市武清县环保设备厂) | 北京网站建设|北京网站开发|北京网站设计|高端做网站公司 | 体检车_移动CT车_CT检查车_CT车_深圳市艾克瑞电气有限公司移动CT体检车厂家-深圳市艾克瑞电气有限公司 | 高铝砖-高铝耐火球-高铝耐火砖生产厂家-价格【荣盛耐材】 | 广西正涛环保工程有限公司【官网】 | 设定时间记录电子秤-自动累计储存电子秤-昆山巨天仪器设备有限公司 | 24位ADC|8位MCU-芯易德科技有限公司 | 胜为光纤光缆_光纤跳线_单模尾纤_光纤收发器_ODF光纤配线架厂家直销_北京睿创胜为科技有限公司 - 北京睿创胜为科技有限公司 | 首页|成都尚玖保洁_家政保洁_开荒保洁_成都保洁 | 啤酒设备-小型啤酒设备-啤酒厂设备-济南中酿机械设备有限公司 | LINK FASHION 童装·青少年装展 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | 氧氮氢联合测定仪-联测仪-氧氮氢元素分析仪-江苏品彦光电 | 透平油真空滤油机-变压器油板框滤油机-滤油车-华之源过滤设备 | 发电机价格|发电机组价格|柴油发电机价格|柴油发电机组价格网 | TYPE-C厂家|TYPE-C接口|TYPE-C防水母座|TYPE-C贴片-深圳步步精 | 专业生产动态配料系统_饲料配料系统_化肥配料系统等配料系统-郑州鑫晟重工机械有限公司 | 中央空调温控器_风机盘管温控器_智能_液晶_三速开关面板-中央空调温控器厂家 | 3D全息投影_地面互动投影_360度立体投影_水幕灯光秀 | 广东银虎 蜂窝块状沸石分子筛-吸附脱硫分子筛-萍乡市捷龙环保科技有限公司 | 盘装氧量分析仪-防爆壁挂氧化锆分析仪-安徽吉帆仪表有限公司 | 污水处理设备维修_污水处理工程改造_机械格栅_过滤设备_气浮设备_刮吸泥机_污泥浓缩罐_污水处理设备_污水处理工程-北京龙泉新禹科技有限公司 | 开锐教育-学历提升-职称评定-职业资格培训-积分入户 | 振动筛,震动筛,圆形振动筛,振动筛价格,振动筛厂家-新乡巨宝机电 蒸汽热收缩机_蒸汽发生器_塑封机_包膜机_封切收缩机_热收缩包装机_真空机_全自动打包机_捆扎机_封箱机-东莞市中堡智能科技有限公司 | 匀胶机旋涂仪-声扫显微镜-工业水浸超声-安赛斯(北京)科技有限公司 | 【365公司转让网】公司求购|转让|资质买卖_股权转让交易平台 | 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | 合景一建-无尘车间设计施工_食品医药洁净车间工程装修总承包公司 | 澳洁干洗店加盟-洗衣店干洗连锁「澳洁干洗免费一对一贴心服务」 干洗加盟网-洗衣店品牌排行-干洗设备价格-干洗连锁加盟指南 | 合肥展厅设计-安徽展台设计-合肥展览公司-安徽奥美展览工程有限公司 | 心得体会网_心得体会格式范文模板 | 北京网站建设首页,做网站选【优站网】,专注北京网站建设,北京网站推广,天津网站建设,天津网站推广,小程序,手机APP的开发。 | 股票入门基础知识_股票知识_股票投资大师_格雷厄姆网 | SRRC认证_电磁兼容_EMC测试整改_FCC认证_SDOC认证-深圳市环测威检测技术有限公司 |