Django web開發系列(八)之快速入門實例教程

前言

前面幾節以圖書管理系統開發爲切入點,對Django涉及的幾個核心概念點進行了介紹,但缺乏連貫性。本文將從頭到尾完成一個簡單的實例項目,把Django開發流程串聯一遍,對想了解或學習Django Web開發的同學應該會有一點幫助。

 

Django入門實例

1.      準備開發環境

windows系統爲例,提前安裝好Python3Django2Pycharm,在此不再贅述。


2.      創建Django項目

打開pycharmfileànew projectàDjango,填寫項目Locationpython解釋器後,點擊create,即可完成項目創建,如圖:

1.png

以上目錄及文件是創建項目時自動生成的。

 

3.      創建APP

每個項目可以有多個app,每個app可以理解成項目的子模塊,所以app共享項目資源。

pycharmterminal輸入以下命令,創建名爲loginapp,如下:

2.jpg

命令執行後,項目Demo目錄下會自動生成login目錄及一系列文件。

 

4.      編寫路由

路由的作用是將瀏覽器發送的url請求轉發到對應的視圖函數,如圖:

3.jpg

在項目核心目錄urs.py裏增加路由,匹配到index的請求都轉發到loginindex視圖函數進行處理。

 

5.      編寫視圖函數

路由轉發的請求由視圖函數處理,即業務邏輯實現部分,在appviews.py裏編寫,即定義並實現視圖函數,如圖:

4.jpg

 

6.      啓動WEB服務

pycharmterminal輸入如下命令,啓動web服務器(IP:PORT根據實際情況修改):

python manage.py runserver 127.0.0.1:8080

 

啓動後,在瀏覽器訪問http://127.0.0.1:8080/index/,即可看到後臺視圖函數返回的結果,如圖:

5.jpg

到這裏,你的web應用已經能夠正常運行了,整個流程已經通了,接下來,我們進一步返回html頁面,而不是一個簡單的字符串。

 

7.      使用模板返回html頁面

1) 右鍵點擊templates目錄->new->html,新建一個html文件,編寫簡單html如下:

6.jpg

定義了一個簡單的html文件,通過視圖函數傳入wx_name變量並展示。


2) 當返回html頁面時,修改視圖函數如下:

7.jpg

通過render返回定義的index.html頁面,且傳入了wx_name的變量值“小蟒社區”。你可能會疑惑,它怎麼找到我們定義的index.html呢?


3) 配置templates目錄

爲了讓渲染頁面時找到html文件,需要在settings.py裏配置路徑,如下:

8.jpg


4) 再次瀏覽器訪問http://127.0.0.1:8080/index/,即可看到後臺視圖函數返回的html頁面,如圖:

9.jpg


8.      實現前後臺交互

上面我們已經可以發送indexget請求,且返回期望的頁面。接下來,再看下如何整一個可以和後臺交互的post請求。假定我們有個很簡單的login頁面,輸入用戶名登錄後,返回hello 用戶名。

1) 新建模擬post請求的login頁面

爲了讓頁面顯得稍微好看一點,使用先前介紹的Bootstrap框架化個狀吧。在pycharm項目目錄,新建一個static目錄,然後再建一個js目錄存放jQuery,並且把下載的Bootstrap目錄也放到static裏,目錄結構如圖:

10.jpg

同樣,爲了讓Django能夠找到我們新建的static目錄,在settings.py裏增加如下配置項:


STATIC_URL = '/static/'
 
STATICFILES_DIRS = [os.path.join(BASE_DIR, "static"),]

 

2) templates目錄新建login.html

像新建index頁面一樣,再創建一個login頁面,html簡單如下:

11.jpg


 

3) 增加login的路由及對應的視圖函數login,如下:

12.jpg

 

4) 訪問login頁面http://127.0.0.1:8080/login/,如圖:

13.jpg

 

5) 輸入用戶名 張三、密碼111,點擊提交按鈕,響應如圖:

14.jpg


9.      使用數據庫

限於篇幅原因,使用數據庫部分不再寫了,有興趣可以自行查看相關資料,或者參考本系列文章——Django web開發系列(三)模型與管理後臺,有介紹默認數據sqllite及模型遷移的兩個命令。

 

10.   其他

關於python學習、分享、交流,筆者開通了微信公衆號【小蟒社區】,感興趣的朋友可以關注下,歡迎加入,建立屬於我們自己的小圈子,一起學python

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章