引言
當今的網站實際上都是富應用程式,就像成熟的桌面應用程式一樣。Python提供了一組開發Web應用程式的卓越工具。在本節中,我們將使用Django來開發一個個人記錄博客,其實通俗而言,就是一個在線日誌的系統,讓我們能夠記錄所學習的有關特定主題的知識。
我們將為這個項目指定規範,然後為應用程式使用的數據定義模型。我們將使用Django的管理系統來輸入一些初始數據,再編寫視圖和模板,讓Django能夠為我們的網站創建網頁。
Django是一個Web框架——一套用於幫助開發交互式網站的工具。Django能夠響應網頁請求,還能讓你更輕鬆地讀寫資料庫、管理用戶等。
建立Django項目
建立Django項目首先需要確保我們按照好了Django,我們在Pycharm中打開虛擬環境的終端,然後輸入:pip install Django==1.11即可進行安裝:
依然在活動終端中,執行如下命令來新建一個項目:
第一行的命令讓我們新建一個名為learning_log的項目。這個命令末尾的句點讓新項目使用合適的目錄結構,這樣開發完成後可輕鬆地將應用程式部署到伺服器上。(注意:千萬不要忘記這個句點,否則部署應用程式時會遭遇一些配置問題。如果忘記這個句點就將創建的文件和文件夾全部刪除,再重新運行這個命令。)
然後我們運行了命令ls(在windows系統中應該為dir),結果表明Django新建了一個名為learning_log的目錄。它還創建了一個名為manage.py的文件,這是一個簡單的程序,它接受命令並將其交給Django的相關部分去運行。我們將使用這些命令來管理諸如使用資料庫和運行伺服器等任務。
目錄learning_log中包含4個文件,其中最重要的是settings.py、urls.py和wsgi.py。文件settings.py指定Django如何與你的系統進行交互以及如何管理項目。在開發項目的過程中,我們將修改其中一些設置,並添加一些設置。文件urls.py告訴Django應創建哪些網頁來響應瀏覽器請求。文件wsgi.py幫助Django提供它創建的文件,這個文件名是web server gateway interface(Web伺服器網關接口)的首字母縮寫。
創建資料庫
Django將大部分與項目相關的信息都存儲在資料庫中,因此我們需要創建一個供Django使用的資料庫。為了給我們的個人筆記創建資料庫,請在處於活動虛擬環境中的情況下執行下面的命令:
如果沒有執行成功,出現如下所示的錯誤時,大家也不要緊張,這是由於Django與Python3的兼容性的問題導致的,只需要刪除出錯語句中的最後一個逗號即可。(如果報錯為:SyntaxError: Generator expression must be parenthesized,可使用上述方法。)
我們將修改資料庫稱為遷移資料庫。首次執行命令migrate時,將讓Django確保資料庫與項目的當前狀態匹配。在使用SQLite的新項目中首次執行這個命令時,Django將新建一個資料庫。Django將指出它將創建必要的資料庫表,用於存儲我們將在這個項目中使用的信息,再確保資料庫結構與當前代碼匹配。
接著我們運行了命令ls,其輸出表明Django又創建了一個文件——db.sqite3。SQLite是一種使用單個文件的資料庫,是編寫簡單應用程式的理想選擇,因為它讓我們不用太關注資料庫的管理問題。
查看項目
下面我們來核實Django是否正確創建了項目。為此,可執行命令runserver,如下所示:
Django啟動一個伺服器,讓你能夠查看系統中的項目,了解它們的工作情況。當你在瀏覽器中輸入URL以請求網頁時,該Django伺服器將進行響應,生成合適的網頁,並將其發送給瀏覽器。接著我們點開上面的連接,當看到如下所示的頁面就證明我們的項目已經可以正式啟動啦: