快速安裝
在使用Django之前,我們需要把它先安裝好。我們這裏有一個完整的安裝指南,涵蓋了所有的可能性; 本指南將引導您通過簡單的,最小化安裝。
Windows 安裝參考:https://docs.djangoproject.com/en/1.9/howto/windows/
安裝Python
作為一個Python Web框架,Django 需要 Python 環境的支持。Python中包括一個羽量級的資料庫:SQLite,所以我們不會需要建立資料庫。
Python 3.4.x [GCC 4.x] on linux Type "help", "copyright", "credits" or "license" for more information. >>>
配置資料庫
如果想使用像PostgreSQL,MySQL和Oracle這些一個“大”資料庫引擎工作。要安裝這樣的資料庫,請查閱資料庫的安裝資訊。
安裝Django
- 安裝由操作系統分配提供的一個Django版本。 這是最快的選擇對於那些有分發Django的操作系統。
-
安裝官方發佈版本。這是大多數用戶的最佳方法。
- 安裝最新開發版本。此選項是那些想要最新的,並且不怕新代碼有BUG的愛好者。您可能會遇到在開發新版本遇到bug,並報告給他們以幫助Django的發展。另外,第三方軟體包版本在開發版本不太可能比最新的穩定版本相容。
安裝Windows
在某些版本的Windows(Windows 7)中,需要確保 Path 系統變數的路徑如下:C:\Python27\;C:\Python27\Lib\site-packages\django\bin\ 在裏面,當然這取決於你的Python版本。

接下來,通過運行以下命令,在windows shell “cmd” 可能需要管理權限來安裝Django −
C:\Python27\Django-1.9.1>python setup.py install
要測試你的安裝,打開命令提示符,從 shell 輸入Python可以看到。然後在Python提示符,嘗試導入Django:
>>> import django >>> print(django.get_version()) 1.9.1
開發第一個Django app
-
一個公共網站,讓人們在上面查看投票和投票。
-
一個網站管理,您可以添加,更改和刪除投票。
$ python -c "import django; print(django.get_version())"
如果安裝 Django,你應該看到安裝的版本。如果還未安裝會得到一個錯誤提示: “No module named django”。
本教程是使用 Django1.9和Python2.7或更高版本編寫的。如果Django的版本不匹配,您可以通過使用版本切換 Django 版本,或者 Django 更新到最新版本。如果還在使用Python2.7,則需要稍微調整代碼,如在注釋中描述。
創建一個專案
如果第一次使用Django,必須採取一些初始設置。也就是說,需要自動生成一些代碼,建立一個Django專案 - 設置Django實例的集合,包括資料庫配置,Django 特定選項和特定應用程式設置。
C:\python27> django-admin startproject mysite

mysite/ manage.py mysite/ __init__.py settings.py urls.py wsgi.py
對上面這些檔的簡要說明:
-
在 mysite/ 根目錄上級僅僅是一個容器專案。對於Django它的名字隨意,可以將其重命名為任何你喜歡的。
- manage.py: 一個命令行工具,可以讓您以各種方式與Django專案進行交互。你可以閱讀所有關於manage.py 在 django-admin和manage.py 的細節。
- 內部 mysite/目錄是實際專案的Python包。它的名字是你需要使用導入裏面的任何Python包的名稱(例如mysite.urls)。
- mysite/__init__.py: 一個空文件,該檔告訴Python這個目錄應該作為一個Python包。
- mysite/settings.py: 設置/配置這個Django專案。 Django的設置,會告訴你如何設置工作。
- mysite/urls.py: 該 URL 聲明這個Django專案; 類似Django網站的一個“表的內容”。
- mysite/wsgi.py: 一個WSGI相容Web伺服器的入口點,以滿足您的專案需要。
C:\python27\mysite> python manage.py runserver
Performing system checks... System check identified no issues (0 silenced). You have unapplied migrations; your app may not work properly until they are applied. Run 'python manage.py migrate' to apply them. January 24, 2016 - 15:50:53 Django version 1.9, using settings 'mysite.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C.
你已經啟動Django開發伺服器,它是用Python寫的純粹一個羽量級的Web伺服器。我們已經包含在 Django 中了,所以你可以很快開發東西了,而不必處理配置生產伺服器 - 如:Apache 。
需要注意的是:不要在任何類似生產環境中使用此伺服器。它的目的只是用於開發(我們是在使用Web框架,而不是Web伺服器的業務。)
$ python manage.py runserver 8080
$ python manage.py runserver 0.0.0.0:8000
創建Polls app
在Django寫的每個應用程式包含一個Python包,遵循一定的約定。 Django提供了一個實用程式,自動生成一個應用程式的基本目錄結構,這樣就可以專注於寫代碼而不是建立目錄。
C:\python27\mysite> python manage.py startapp polls
polls/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py views.py
編寫視圖代碼
from django.http import HttpResponse def index(request): return HttpResponse("Hello, world. You're at the polls index.")
polls/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py urls.py views.py
from django.conf.urls import url from . import views urlpatterns = [ url(r'^$', views.index, name='index'), ]
下一步驟是讓 polls.urls 模組指向該ROOT_URLCONF。在 mysite/urls.py 中, 增加導入 django.conf.urls.include 並插入 include() 在URL模式列表中,所以這裏有:
from django.conf.urls import include, url from django.contrib import admin urlpatterns = [ url(r'^polls/', include('polls.urls')), url(r'^admin/', admin.site.urls), ]
C:\Python27\mysite> python manage.py runserver
在流覽器中打開http://localhost:8000/polls/,應該看到如下文字顯示: “Hello, world. You’re at the polls index.”, 在 index 視圖中所定義。
url()函數傳遞四個參數,兩個必需的:regex 和 view,以及兩個可選:kwargs 和 name。
url() 參數: regex
術語“regex”是一種常用的縮寫形式,意思是“正則運算式”,這是一個語法字串匹配模式,或在我們的示例中是URL模式。Django從第一個正則運算式開始,並使得其遍曆列表,比對每一個正則運算式的請求的URL,直到它找到一個匹配。
請注意,這些正則運算式不搜索GET和POST參數,或者功能變數名稱。例如,在一個請求https://www.example.com/myapp/, URLconf 會尋找myapp/.在一個請求 https://www.example.com/myapp/?page=3, URLconf 還將尋找 myapp/.
如果需要使用正則運算式的幫助,請參見維基百科的條目和 re 模組的文檔。 然而在實踐中,你並不需要成為正則運算式的專家,因為只需要知道如何捕捉簡單的模式。事實上,複雜的正則運算式可以查找性能較差,所以你可能不依賴於正則運算式的全部功能。
最後,一個關於性能的事項需要瞭解:這些正則運算式編譯首次URL配置模組被加載。它們是超級的快(只要查找東西不是太複雜 - 如上所述)。
url() 參數: view
當 Django 找到正則運算式匹配,Django調用指定的視圖函數,使用 HTTP 請求對象作為第一個參數,從正則運算式“捕獲”的其他參數作為其他的值。 正則運算式使用簡單的捕捉,值傳遞是通過位置參數;如果使用名為捕捉,值傳遞關鍵字參數。我們將給出一個例子。
url() 參數: kwargs
url() argument: name
命名網址可以參考它,明確地從其他地方在Django - 尤其是範本。 這種強大的功能可讓您進行全局更改到專案的URL模式,而只需要修改一個檔。接下來我們學習如何在 Django 使用數據功能。
快速入門系列教學:
2 - Django快速入門-資料庫模型
3 - Django快速入門-視圖
4 - Django快速入門-表單