Django是高水準的Python程式設計語言驅動的一個開源模型.視圖,控制器風格的Web應用程式架構,它起源于開源社群。使用這種架構,程式員可以友善、快捷地建立高品質、易維護、資料庫驅動的應用程式
首先需要安裝python3,python安裝教程太簡單了,這裡就不具體說了。
建立一個項目包
生成以下目錄:
這些目錄和檔案的用處是:
最外層的 mysite/ 根目錄隻是你項目的容器, 根目錄名稱對Django沒有影響,你可以将它重命名為任何你喜歡的名稱。
manage.py: 一個讓你用各種方式管理 Django 項目的指令行工具。你可以閱讀 django-admin and manage.py 擷取所有 manage.py 的細節。
裡面一層的 mysite/ 目錄包含你的項目,它是一個純 Python 包。它的名字就是當你引用它内部任何東西時需要用到的 Python 包名。 (比如 mysite.urls).
mysite/init.py:一個空檔案,告訴 Python 這個目錄應該被認為是一個 Python 包。如果你是 Python 初學者,閱讀官方文檔中的 更多關于包的知識。
mysite/settings.py:Django 項目的配置檔案。
mysite/urls.py:Django 項目的 URL 聲明,就像你網站的“目錄”。
mysite/asgi.py:作為你的項目的運作在 ASGI 相容的Web伺服器上的入口。
mysite/wsgi.py:作為你的項目的運作在 WSGI 相容的Web伺服器上的入口。

現在,伺服器正在運作,浏覽器通路 https://127.0.0.1:8000/ 你将會看到一個“祝賀”頁面,随着一隻火箭發射,伺服器已經運作了。
也可以指定不同的IP和端口運作
現在你的開發環境——這個“項目” ——已經配置好了,你可以開始幹活了。
在 Django 中,每一個應用都是一個 Python 包,并且遵循着相同的約定。Django 自帶一個工具,可以幫你生成應用的基礎目錄結構,這樣你就能專心寫代碼,而不是建立目錄了。
這會建立一個polls的目錄,目錄結構如下:
讓我們開始編寫第一個視圖吧。打開 polls/views.py,把下面這些 Python 代碼輸入進去:
這是 Django 中最簡單的視圖。如果想看見效果,我們需要将一個 URL 映射到它——這就是我們需要 URLconf 的原因了。
為了建立 URLconf,請在 polls 目錄裡建立一個 urls.py 檔案。你的應用目錄現在看起來應該是這樣:
在 polls/urls.py 中,輸入如下代碼:
下一步是要在根 URLconf 檔案中指定我們建立的 polls.urls 子產品。在 mysite/urls.py 檔案的 urlpatterns 清單裡插入一個 include(), 如下:
函數 include() 允許引用其它 URLconfs。每當 Django 遇到 include() 時,它會截斷與此項比對的 URL 的部分,并将剩餘的字元串發送到 URLconf 以供進一步處理。
我們設計 include() 的理念是使其可以即插即用。因為投票應用有它自己的 URLconf( polls/urls.py ),他們能夠被放在 "/polls/" , "/fun_polls/" ,"/content/polls/",或者其他任何路徑下,這個應用都能夠正常工作。
你現在把 index 視圖添加進了 URLconf。通過以下指令驗證是否正常工作:
用你的浏覽器通路 http://localhost:8000/polls/,你應該能夠看見 "Hello, world. You're at the polls index." ,這是你在 index 視圖中定義的。
如果你通路的位址還是 http://localhost:8000/ 會提示下面錯誤,因為目前頁面已經不存在映射了
函數 path() 具有四個參數,兩個必須參數:route 和 view,兩個可選參數:kwargs 和 name。現在,是時候來研究這些參數的含義了。
path() 參數: route
route 是一個比對 URL 的準則(類似正規表達式)。當 Django 響應一個請求時,它會從 urlpatterns 的第一項開始,按順序依次比對清單中的項,直到找到比對的項。
這些準則不會比對 GET 和 POST 參數或域名。例如,URLconf 在處理請求 https://www.example.com/myapp/ 時,它會嘗試比對 myapp/ 。處理請求 https://www.example.com/myapp/?page=3 時,也隻會嘗試比對 myapp/。
path() 參數: view
當 Django 找到了一個比對的準則,就會調用這個特定的視圖函數,并傳入一個 HttpRequest 對象作為第一個參數,被“捕獲”的參數以關鍵字參數的形式傳入。
path() 參數: kwargs
任意個關鍵字參數可以作為一個字典傳遞給目标視圖函數。
path() 參數: name
為你的 URL 取名能使你在 Django 的任意地方唯一地引用它,尤其是在模闆中。這個有用的特性允許你隻改一個檔案就能全局地修改某個 URL 模式。