django 執行過程

2021-08-15 21:22:55 字數 2909 閱讀 2786

目前使用的主要開發語言還是python,有部分會用到**開發,順便看了一下《web介面開發與自動化測試基於python語言》,裡面有django的一些簡單介紹,必要可以基於這個來開發個簡單的web介面。首先乙個是搞明白django的訪問邏輯次序。

以下是根據書上的學習和實踐,拷貝自網路:

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

1)專案結構

django_web

__init__.py

settings.py

urls.py

wsgi.py

__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 =

}

b)響應順序

說明:

第一步:瀏覽器提交請求

第二步:服務端根據請求的url在urls.py中進行匹配,並找到對應的「檢視函式」

第三步:呼叫對應的「檢視函式」 返回乙個httpresponse物件

第四步:django轉換httpresponse物件為乙個適合的http response,並返回給頁面進行顯示

2、url匹配模式

基本結構:

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

ps:實際上最終完整的url串是http://根路徑:埠號/需要匹配的url字串

系統自動新增的部分'http://根路徑:埠號/'

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

最終完整的url字串:''

1)^:匹配「子串頭」。

eg:'^latest_books/'

'','test1/',

都會被匹配上。     

2)$:匹配「子串結尾」。

eg:'latest_books/$'

'','',

''都會被匹配上。

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

預設情況下必須新增(django開發者的基本習慣),如果不新增將會出現如下情況:

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

4)手動配置**「根目錄」

在不手動配置**「根目錄」對應「檢視函式」的情況下,會出現如下情況:

手動配置「根目錄」對應「檢視函式」:

a)urls.py

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

urlpatterns = patterns('',

)b)views.py

def home_page(request):

return render_to_response('home_page.html')

c)home_page.html

執行結果:

0、基本過程

1)建立 django  工程    

執行 django-admin.py startproject mysite 這樣會在目錄下建立乙個 mysite:

檔案如下:

儘管這些的檔案很小,但這些檔案已經構成了乙個可執行的django應用。

python manage.py runserver  port 可以執行剛才建立的空服務端

2)設定資料庫,自帶的是sqlite 

這個命令並沒有輸出什麼,它只在  mysite  的目錄裡建立了乙個  books  目錄。 讓我們來看看這個目錄的內容:

books/

__init__.py

models.py

tests.py

views.py

4)模型安裝

5)db的產生(尚未驗證)

python manage.py validate        #validate 

命令檢查你的模型的語法和邏輯是否正確

python

manage.

pysqlall books #把產生資料庫表的sql語句段列印出來

python manage.py syncdb        #執行上面產生的sql語句,實際生成資料庫表

Django入門 Django執行流程

附 安裝python django略 瀏覽器 urls.py views.py templates html 中可以傳入4個引數,其中name引數可以在模板裡面用 也可以在view redirect的時候使用。有個便利,就是你url更改了,但是name不用改,其他用url name的地方也不用改了 ...

Django 請求過程

步驟 使用者通過瀏覽器請求乙個頁面 請求到達request middlewares,中介軟體對request做一些預處理或者直接response請求 urlconf通過urls.py檔案和請求的url找到相應的view view middlewares被訪問,它同樣可以對request做一些處理或者...

執行django專案

密碼 資料庫名稱按我給你指定的設定 版本別太高,mysql5.5即可。檢視編碼 show variables like character 最終要把所有的都變成utf 8 修改 etc my.cnf配置檔案 mysqld character set server utf8 init connect ...