top
Loading...
Django 創建第一個項目

Django 創建第一個項目

本章我們將介紹Django 管理工具及如何使用 Django 來創建項目,第一個項目我們以 HelloWorld 來命令項目。

測試版本說明:

  • Python 2.7.10

  • Django 1.10.6


Django 管理工具

安裝 Django 之後,您現在應該已經有了可用的管理工具 django-admin.py。我們可以使用 django-admin.py 來創建一個項目:

我們可以來看下django-admin.py的命令介紹:

[root@solar ~]# django-admin.py
Usage: django-admin.py subcommand [options] [args]
Options:
  -v VERBOSITY, --verbosity=VERBOSITY
                        Verbosity level; 0=minimal output, 1=normal output,
                        2=verbose output, 3=very verbose output
  --settings=SETTINGS   The Python path to a settings module, e.g.
                        "myproject.settings.main". If this isn't provided, the
                        DJANGO_SETTINGS_MODULE environment variable will be
                        used.
  --pythonpath=PYTHONPATH
                        A directory to add to the Python path, e.g.
                        "/home/djangoprojects/myproject".
  --traceback           Raise on exception
  --version             show program's version number and exit
  -h, --help            show this help message and exit
Type 'django-admin.py help <subcommand>' for help on a specific subcommand.
Available subcommands:
[django]
    check
    cleanup
    compilemessages
    createcachetable
……省略部分……

創建第一個項目

使用 django-admin.py 來創建 HelloWorld 項目:

django-admin.py startproject HelloWorld

最新版的 Django 請使用 django-admin 命令:

django-admin startproject HelloWorld

創建完成後我們可以查看下項目的目錄結構:

$ cd HelloWorld/
$ tree
.
|-- 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 服務器的入口,以便運行你的項目。

接下來我們進入 HelloWorld 目錄輸入以下命令,啟動服務器:

python manage.py runserver 0.0.0.0:8000

0.0.0.0 讓其它電腦可連接到開發服務器,8000 為端口號。如果不說明,那么端口號默認為 8000。

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

視圖和 URL 配置

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

HelloWorld/HelloWorld/view.py 文件代碼:

from django.http import HttpResponse def hello(request): return HttpResponse("Hello world ! ")

接著,綁定 URL 與視圖函數。打開 urls.py 文件,刪除原來代碼,將以下代碼復製粘貼到 urls.py 文件中:

HelloWorld/HelloWorld/urls.py 文件代碼:

from django.conf.urls import url from . import view urlpatterns = [ url(r'^$', view.hello), ]

整個目錄結構如下:

$ tree
.
|-- HelloWorld
|   |-- __init__.py
|   |-- __init__.pyc
|   |-- settings.py
|   |-- settings.pyc
|   |-- urls.py              # url 配置
|   |-- urls.pyc
|   |-- view.py              # 添加的視圖文件
|   |-- view.pyc             # 編譯後的視圖文件
|   |-- wsgi.py
|   `-- wsgi.pyc
`-- manage.py

完成後,啟動 Django 開發服務器,併在瀏覽器訪問打開瀏覽器併訪問:

我們也可以修改以下規則:

HelloWorld/HelloWorld/urls.py 文件代碼:

from django.conf.urls import url from . import view urlpatterns = [ url(r'^hello$', view.hello), ]

通過瀏覽器打開 http://127.0.0.1:8000/hello,輸出結果如下:

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


url() 函數

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

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

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

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

  • name: 用來反向獲取 URL。

北斗有巢氏 有巢氏北斗