Django項目快速搭建
快速搭建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項目快速搭建