三、創建第一個 Django 項目

測試版本說明:

  • Python 3.5.2

  • Django 1.10.6

安裝 Django 之后,已經有了可用的管理工具 django-admin.py,使用 django-admin.py 創建項目。

1. 創建 HelloWorld 項目

進入項目目錄,執行以下命令:

>django-admin startproject HelloWorld

2. 項目目錄結構

HelloWorld
├── HelloWorld
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── manage.py

目錄說明:

  • HelloWorld: 項目的容器。
  • manage.py: 一個實用的命令行工具,可讓你以各種方式與該 Django 項目進行交互。
  • HelloWorld/__init__.py: 一個空文件,告訴 Python 該目錄是一個 Python 包。
  • HelloWorld/settings.py: 該 Django 項目的設置/配置。
  • HelloWorld/urls.py: 該 Django 項目的 URL 聲明,一份由 Django 驅動的網站"目錄"。
  • HelloWorld/wsgi.py: 一個 WSGI 兼容的 Web 服務器的入口,以便運行項目。

3. 啟動服務

1)進入 HelloWorld 目錄輸入以下命令,啟動服務器:

# python manage.py runserver 0.0.0.0:8000

0.0.0.0 讓其它客戶端連接到服務器,8000 為端口號。如果不說明,那么端口號默認為 8000。

返回信息:

2)測試

在瀏覽器輸入服務器的 IP 及端口號,如果正常啟動,輸出結果如下:

4. 創建 view.py 文件

在創建的 HelloWorld 目錄下的 HelloWorld 目錄新建一個 view.py 文件,並輸入代碼:

1 from django.http import HttpResponse
2 
3 def hello(request):
4     return HttpResponse('Hello world!')

5. 綁定 URL 與視圖函數

打開 urls.py 文件,刪除原來代碼,將以下代碼復制粘貼到 urls.py 文件中:

1 from django.conf.urls import url
2 from django.contrib import admin
3 from . import view
4 
5 urlpatterns = [
6     url(r'^admin/', admin.site.urls),
7     url(r'^hello/', view.hello),
8 ]

6. 測試

啟動 Django 服務器,在瀏覽器訪問:

訪問日志:

注意:項目中如果代碼有改動,服務器會自動監測代碼的改動並自動重新載入,所以如果已經啟動了服務器,則不需手動重啟。

7. url() 函數

Django url() 可以接收四個參數,分別是兩個必選參數:regex、view 和兩個可選參數:kwargs、name,接下來詳細介紹這四個參數。

  • regex: 正則表達式,與之匹配的 URL 會執行對應的第二個參數 view。

  • view: 用於執行與正則表達式匹配的 URL 請求。

  • kwargs: 視圖使用的字典類型的參數。

  • name: 用來反向獲取 URL。