欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

django中url映射規(guī)則和服務(wù)端響應(yīng)順序的實(shí)現(xiàn)

 更新時間:2020年04月02日 10:48:46   作者:edisonfeng  
這篇文章主要介紹了django中url映射規(guī)則和服務(wù)端響應(yīng)順序的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

 1、django搜索路徑

使用 import 語句時,Python 所查找的系統(tǒng)目錄清單。

查看方式:

import sys
print sys.path

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

2、url匹配模式

基本結(jié)構(gòu):

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

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

系統(tǒng)自動添加的部分'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)$:匹配“子串結(jié)尾”。

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)子串末尾是否包含'/'

默認(rèn)情況下必須添加(django開發(fā)者的基本習(xí)慣),如果不添加將會出現(xiàn)如下情況:

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

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

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

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

4)手動配置網(wǎng)站“根目錄”

在不手動配置網(wǎng)站“根目錄”對應(yīng)“視圖函數(shù)”的情況下,會出現(xiàn)如下情況:

    

手動配置“根目錄”對應(yīng)“視圖函數(shù)”:

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>
  <h1>This is home page, welcome !</h1>
</body>
</html>

運(yùn)行結(jié)果:

    

附:正則表達(dá)式基礎(chǔ)

3、服務(wù)端響應(yīng)url請求的執(zhí)行順序

1)項目結(jié)構(gòu)

  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)執(zhí)行順序

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

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

url映射關(guān)系文件路徑:

ROOT_URLCONF = 'django_web.urls'

頁面文件模板路徑:

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

數(shù)據(jù)庫配置:

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

b)響應(yīng)順序

第一步:瀏覽器提交請求

http://127.0.0.1:8000/latest_books/

第二步:服務(wù)端根據(jù)請求的url在urls.py中進(jìn)行匹配,并找到對應(yīng)的“視圖函數(shù)”

第三步:調(diào)用對應(yīng)的“視圖函數(shù)”

返回一個HttpResponse對象

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

到此這篇關(guān)于django中url映射規(guī)則和服務(wù)端響應(yīng)順序的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)django url映射規(guī)則和服務(wù)端響應(yīng)順序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論