1. 程式人生 > >Django項目快速搭建

Django項目快速搭建

ctrl info ngs ima nag sts index 發的 建議

快速搭建Django項目:

1. 在linux 命令行中安裝Django的命令

  如果要使用虛擬環境,要先workon 虛擬環境名再安裝django

pip install django==版本號
eg:
pip install Django==1.11.11

2 . 創建工程

  創建之前先切換到存放項目的目錄

django-admin startproject demo  # 工程項目名

3. 工程目錄說明

技術分享圖片

  • 與項目同名的目錄,此處為demo。
  • settings.py 是項目的整體配置文件。
  • urls.py 是項目的URL配置文件。
  • wsgi.py 是項目與WSGI兼容的Web服務器入口。
  • manage.py 是項目管理文件,通過它管理項目。

4. 運行開發服務器

在開發階段,為了能夠快速預覽到開發的效果,django提供了一個純python編寫的輕量級web服務器,僅在開發階段使用。

運行服務器命令如下:

python manage.py runserver ip:端口  # 默認是8000
或:
python manage.py runserver

可以不寫IP和端口,默認IP是127.0.0.1,默認端口為8000。

在瀏覽器中輸入網址“127.0.0.1:8000”便可看到效果。

技術分享圖片

  • django默認工作在調式Debug模式下,如果增加、修改、刪除文件,服務器會自動重啟。
  • 按ctrl+c停止服務器。

5. 創建子應用

在Web應用中,通常有一些業務功能模塊是在不同的項目中都可以復用的,故在開發中通常將工程項目拆分為不同的子功能模塊,各功能模塊間可以保持相對的獨立,在其他工程項目中需要用到某個特定功能模塊時,可以將該模塊代碼整體復制過去,達到復用。

Django的視圖編寫是放在子應用中的

1)創建

 在django中,創建子應用模塊目錄仍然可以通過命令來操作

 manage.py 為上述創建工程時自動生成的管理文件。

 例如,在剛才創建的demo工程中,想要創建一個用戶users子應用模塊,可執行:

cd ~/Desktop/code/demo
python manage.py startapp users # 子應用名字

 2) 子應用目錄說明

技術分享圖片

  • admin.py 文件跟網站的後臺管理站點配置相關。
  • apps.py 文件用於配置當前子應用的相關信息。
  • migrations 目錄用於存放數據庫遷移歷史文件。
  • models.py 文件用戶保存數據庫模型類。
  • tests.py 文件用於開發測試用例,編寫單元測試。
  • views.py 文件用於編寫Web應用視圖。

 3) 註冊安裝子應用

   創建出來的子應用目錄文件雖然被放到了工程項目目錄中,但是django工程並不能立即直接使用該子應用,需要註冊安裝後才能使用。

   在工程配置文件settings.py中,INSTALLED_APPS項保存了工程中已經註冊安裝的子應用,初始工程中的INSTALLED_APPS如下:

技術分享圖片

註冊安裝一個子應用的方法,即是將子應用的配置信息文件apps.py中的Config類添加到INSTALLED_APPS列表中

例如,將剛創建的users子應用添加到工程中,可在INSTALLED_APPS列表中添加‘users.apps.UsersConfig‘。技術分享圖片

5. 創建視圖

Django 中的視圖是定義在子應用的views.py中的

 1) 創建

  打開剛創建的users模塊,在views.py中編寫視圖代碼。

from django.http import HttpResponse

def index(request):
    """
    index視圖
    :param request: 包含了請求信息的請求對象
    :return: 響應對象
    """
    return HttpResponse("hello the world!")

說明:

  • 視圖函數的第一個傳入參數必須定義,用於接收Django構造的包含了請求數據的HttpReqeust對象,通常名為request。
  • 視圖函數的返回值必須為一個響應對象,可以將要返回的字符串數據放到一個HTTPResponse對象中。

 2) 定義路由URL

可以直接在根目錄下的urls中定義路由URL但是如果說視圖函數比較多,跟路由下的urls就會很多很亂,所以建議在每個子應用的目錄下創建子應用自己的urls文件再

和跟目錄下的urls創立連接

  (1)在子應用中新建一個urls.py文件用於保存該應用的路由

技術分享圖片

 (2)在users/urls.py文件中定義路由信息。

這裏的定義方式是django-1.11.11的格式

from django.conf.urls import url

from . import views

# urlpatterns是被django自動識別的路由列表變量
urlpatterns = [
    # 每個路由信息都需要使用url函數來構造
    # url(路徑, 視圖)
    url(r^index/$, views.index),
]

 (3) 在工程總路由demo/urls.py中添加子應用的路由數據。

from django.conf.urls import url, include
from django.contrib import admin

urlpatterns = [
    url(r^admin/, admin.site.urls),  # django默認包含的

    # 添加
    url(r^users/, include(users.urls)), 
]
  • 使用include來將子應用users裏的全部路由包含進工程路由中;
  • r‘^users/‘ 決定了users子應用的所有路由都已/users/開頭,如我們剛定義的視圖index,其最終的完整訪問路徑為/users/index/。

include函數除了可以傳遞字符串之外,也可以直接傳遞應用的urls模塊,如

from django.conf.urls import url, include
from django.contrib import admin
import users.urls  # 先導入應用的urls模塊

urlpatterns = [
    url(r^admin/, admin.site.urls),
    # url(r‘^users/‘, include(‘users.urls‘)),
    url(r^users/, include(users.urls)),  # 添加應用的路由
]

 (4)啟動運行

 重新啟動django程序 

python manage.py runserver

在瀏覽器中輸入網址127.0.0.1:8000/users/index/ 可看到返回的信息

技術分享圖片

一個簡單的django項目就創建成功了。

Django項目快速搭建