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

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

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

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

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

設計 URL 方案

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

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

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

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

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

清單 21. 在 djproject/urls.py 中實現(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> 部分,這在后面非常重要。

最佳實踐是提取出應用程序特有的 URL 模式,并將它們放入應用程序自身中。這樣可以取消應用程序與項目的耦合限制,從而更好地實現(xiàn)重用。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 方法現(xiàn)在都是來自同一個模塊,因此第一個參數(shù)可以使用這個模塊的根名稱來指定 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 函數(shù)將其作為一個整體來實現(xiàn)的。應用程序級的 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')),
)

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

主站蜘蛛池模板: 中文字幕av一区 | 曰本还a大片免费无播放器 曰本三级香港三级三级人 孕交videos小孕妇xx中文 | 色av.com| 日韩精品一区在线 | 亚州视频一区二区 | 中文字幕日韩一区二区三区不卡 | 国产香蕉国产精品偷在线观看 | 国产精品日韩在线观看 | 亚洲日本精品va中文字幕 | 日韩一区二区三区免费体验 | 久久综合偷偷噜噜噜色 | 成人a毛片 | 国产一级 黄 片 | 欧美性高清另类videosex | 国产精品女丝袜白丝袜 | 欧美美女被爆操 | 一区二区三区欧美视频 | 亚洲精品中文字幕字幕 | 午夜视频色 | 日本免费一区二区三区中文 | 国产色爽女小说免费看 | 波多野结衣中文字幕在线播放 | 亚洲免费黄色网址 | 中文亚洲动漫精品 | 国产精品久久女同磨豆腐 | 大片免费播放器 | 在线视频一二三区 | 成人午夜视频在线观看 | 不卡一区二区三区卡 | 久99久精品视频免费观看v | 在线视频日韩 | 欧美中文字幕无线码视频 | 午夜看毛片 | 最新亚洲精品国自产在线观看 | 中文字幕一二区 | 国产成人精品一区二三区 | 欧美一a一片一级一片 | 国产成人麻豆精品video | 天天插综合网 | 视频一区国产精品 | 污污的免费视频 |