七月婷婷在线视频综合-奇米77-奇米狠狠干-奇米久草-国内精品久久影视免费-国内精品免费视频自在线

您現(xiàn)在所在的位置:首頁(yè) >學(xué)習(xí)資源 > Python全棧+人工智能入門(mén)教材 > Python基礎(chǔ)入門(mén)教程71:設(shè)計(jì) URL 方案

Python基礎(chǔ)入門(mén)教程71:設(shè)計(jì) URL 方案

來(lái)源:奇酷教育 發(fā)表于:

設(shè)計(jì) URL 方案Django URL 分發(fā)系統(tǒng)使用了正則表達(dá)式配置模塊,它可以將 URL 字符串模式映射為 Python 方法views。這個(gè)系統(tǒng)允許 UR

設(shè)計(jì) URL 方案

Django URL 分發(fā)系統(tǒng)使用了正則表達(dá)式配置模塊,它可以將 URL 字符串模式映射為 Python 方法 views。這個(gè)系統(tǒng)允許 URL 與底層代碼完全脫節(jié),從而實(shí)現(xiàn)最大的控制和靈活性。

urls.py 模塊被創(chuàng)建和定義成 URL 配置的默認(rèn)起點(diǎn)(通過(guò) settings.py 模塊中的 ROOT_URLCONF 值)。URL 配置文件的惟一要求是必須包含一個(gè)定義模式 urlpatterns 的對(duì)象。

這個(gè)職位公告板應(yīng)用程序會(huì)在啟動(dòng)時(shí)打開(kāi)一個(gè)索引和一個(gè)詳細(xì)視圖,它們可以通過(guò)以下的 URL 映射進(jìn)行訪問(wèn):

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

這兩個(gè)視圖(索引視圖和詳細(xì)視圖)都是在這個(gè) jobs 應(yīng)用程序的 views.py 模塊中實(shí)現(xiàn)的。在項(xiàng)目的 urls.py 文件中實(shí)現(xiàn)這種配置看起來(lái)如下所示:

清單 21. 在 djproject/urls.py 中實(shí)現(xiàn)視圖的配置
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> 部分,這在后面非常重要。

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

清單 22. 應(yīng)用程序級(jí)的 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 方法現(xiàn)在都是來(lái)自同一個(gè)模塊,因此第一個(gè)參數(shù)可以使用這個(gè)模塊的根名稱來(lái)指定 djproject.jobs.views,Django 會(huì)使用它來(lái)查找 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 會(huì)返回到這個(gè)項(xiàng)目中,因?yàn)樗鼈兪鞘褂?nbsp;include 函數(shù)將其作為一個(gè)整體來(lái)實(shí)現(xiàn)的。應(yīng)用程序級(jí)的 URL 被綁定到下面的 /jobs 部分:

清單 24. djproject/urls.py:將 URL 送回該項(xiàng)目
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')),
)

如果現(xiàn)在嘗試使用測(cè)試服務(wù)器來(lái)訪問(wèn)索引頁(yè)(http://localhost:8000/jobs),會(huì)得到一個(gè)錯(cuò)誤,因?yàn)檎谡{(diào)用的視圖(djproject.jobs.views.index)不存在。

主站蜘蛛池模板: 最新亚洲情黄在线网站无广告 | 91精品国产自产在线观看高清 | 午夜精品国产 | 视频精品一区二区 | 中文字幕有码在线播放 | 台湾中文娱乐综合久久久 | 91国内精品久久久久免费影院 | 日韩a一级欧美一级在线播放 | 欧美日本国产 | 黄视频网站大全 | 大片毛片女女女女女女女 | 午夜久草| 色综合天天射 | 亚洲人成网站在线观看90影院 | 中文字幕在线看视频一区二区三区 | 男女视频免费 | 国产a免费视频 | 亚洲性视频在线 | 一级做a爰全过程免费视频毛片 | 日本不卡一区二区三区在线观看 | 波多野结衣视频一区二区 | 美女被躁免费视频软件 | 中文字幕欧美日韩一 | zljzlj日本妈妈 | 性欧美疯狂猛交69hd | 韩国免费一级成人毛片 | 欧美理论片在线观看一区二区 | 亚洲小视频在线观看 | 天天摸天天插 | 免费视频网站一级人爱视频 | 久草香蕉视频 | 日本欧美一区二区三区片 | 草比片 | 日本一区中文字幕 | 521a成v视频网站在线入口 | h国产在线 | 黄色的网站免费 | 老司机免费福利视频无毒午夜 | 在线观看一夜七次郎国产 | 亚洲国产成人精品91久久久 | 在线观看黄a |