中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

django中如何實現url映射規則和服務端響應順序

發布時間:2021-03-11 17:16:22 來源:億速云 閱讀:154 作者:TREX 欄目:開發技術

這篇文章主要講解了“django中如何實現url映射規則和服務端響應順序”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“django中如何實現url映射規則和服務端響應順序”吧!

 1、django搜索路徑

使用 import 語句時,Python 所查找的系統目錄清單。

查看方式:

import sys
print sys.path

通常無需關心 Python 搜索路徑的設置,Python 和 Django 會在后臺自動幫你處理好。

2、url匹配模式

基本結構:

'^需要匹配的url字符串$'

PS:實際上最終完整的url串是http://根路徑:端口號/需要匹配的url字符串

系統自動添加的部分'http://根路徑:端口號/'

eg:url匹配模式:'^latest_books/$'

最終完整的url字符串:'http://127.0.0.1:8000/latest_books/'

1)^:匹配“子串頭”。

eg:

 '^latest_books/'
 'http://127.0.0.1:8000/latest_books/',
 'http://127.0.0.1:8000/latest_books/test1/',
 'http://127.0.0.1:8000/latest_books/test2/',
 'http://127.0.0.1:8000/latest_books/test1/aaa/'

都會被匹配上。    

 2)$:匹配“子串結尾”。

eg:

'latest_books/$'
'http://127.0.0.1:8000/latest_books/',
'http://127.0.0.1:8000/updir_1/latest_books/',
'http://127.0.0.1:8000/updir_2/latest_books/'

都會被匹配上。

 3)子串末尾是否包含'/'

默認情況下必須添加(django開發者的基本習慣),如果不添加將會出現如下情況:

from django.conf.urls import patterns, url, include

urlpatterns = patterns('',
(r'^latest_books$', 'django_web_app.views.latest_books'),
)

django中如何實現url映射規則和服務端響應順序

如果子串末尾不想包含'/',可在setting.py中添加設置:APPEND_SLASH=False

但是必須安裝了CommonMiddleware才會起作用。

4)手動配置網站“根目錄”

在不手動配置網站“根目錄”對應“視圖函數”的情況下,會出現如下情況:

django中如何實現url映射規則和服務端響應順序    

手動配置“根目錄”對應“視圖函數”:

a)urls.py

from django.conf.urls import patterns, url, include

urlpatterns = patterns('',
            (r'^$','django_web_app.views.home_page'),
            (r'^latest_books/$', 'django_web_app.views.latest_books'),
)

b)views.py

def home_page(request):
  return render_to_response('home_page.html')

c)home_page.html

<!DOCTYPE html>
<html>
<head>
  <title>my home page</title>
</head>
<body>
  <h2>This is home page, welcome !</h2>
</body>
</html>

運行結果:

django中如何實現url映射規則和服務端響應順序    

附:正則表達式基礎

django中如何實現url映射規則和服務端響應順序

3、服務端響應url請求的執行順序

1)項目結構

  django_web

        __init__.py

        settings.py

        urls.py

        wsgi.py

  django_web_app

        __init__.py

        admin.py

        models.py

        tests.py

        views.py

  templates

        home_page.html

        latest_books.html

  manage.py

2)執行順序

a)啟動服務端——python manage.py runserver

獲取setting.py文件中的配置,主要包括:

url映射關系文件路徑:

ROOT_URLCONF = 'django_web.urls'

頁面文件模板路徑:

TEMPLATE_DIRS = (
  os.path.join(BASE_DIR, 'templates'),
)

數據庫配置:

DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'django_db',
    'USER': 'root',
    'PASSWORD': 'feng',
    'HOST': '127.0.0.1',
    'PORT': '3306',
  }
}

b)響應順序

第一步:瀏覽器提交請求

http://127.0.0.1:8000/latest_books/

第二步:服務端根據請求的url在urls.py中進行匹配,并找到對應的“視圖函數”

第三步:調用對應的“視圖函數”

返回一個HttpResponse對象

第四步:django轉換HttpResponse對象為一個適合的HTTP response,并返回給頁面進行顯示

感謝各位的閱讀,以上就是“django中如何實現url映射規則和服務端響應順序”的內容了,經過本文的學習后,相信大家對django中如何實現url映射規則和服務端響應順序這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

牙克石市| 清河县| 赣州市| 无锡市| 集安市| 宁阳县| 丰城市| 东乌珠穆沁旗| 肃南| 沾益县| 高要市| 黑河市| 道真| 自治县| 开封市| 山西省| 榆林市| 辽阳县| 西贡区| 胶南市| 北海市| 贡嘎县| 府谷县| 广平县| 赤峰市| 龙南县| 抚远县| 明溪县| 桐乡市| 泰顺县| 张家港市| 泗阳县| 建昌县| 闵行区| 吉木萨尔县| 沙河市| 从江县| 宜阳县| 特克斯县| 宣恩县| 循化|