django複習-1-環境搭建和建立專案
阿新 • • 發佈:2018-12-19
一、虛擬環境搭建
1. 建立虛擬環境,需要聯網
mkvirtualenv django_py3_1.11 -p python3
2. 安裝Django
使用django 1.11.11版本,注意需要聯網
pip install django==1.11.11
3.建立django工程
django-admin startproject demo(工程名稱)
4.工程目錄說明
- 與專案同名的目錄,此處為demo。
- settings.py 是專案的整體配置檔案。
- urls.py 是專案的URL配置檔案。
- wsgi.py 是專案與WSGI相容的Web伺服器入口。
- manage.py 是專案管理檔案,通過它管理專案。
5.執行方式
python manage.py runserver ip:埠
或:
python manage.py runserver
可以不寫IP和埠,預設IP是127.0.0.1,預設埠為8000。
在瀏覽器中輸入網址“127.0.0.1:8000”便可看到效果。
django預設工作在調式Debug模式下,如果增加、修改、刪除檔案,伺服器會自動重啟。
按ctrl+c停止伺服器。
6.建立子應用
# python manage.py startapp 子應用名稱 python manage.py startapp users
7.子應用目錄說明
- admin.py 檔案跟網站的後臺管理站點配置相關。
- apps.py 檔案用於配置當前子應用的相關資訊。
- migrations 目錄用於存放資料庫遷移歷史檔案。
- models.py 檔案使用者儲存資料庫模型類。
- tests.py 檔案用於開發測試用例,編寫單元測試。
- views.py 檔案用於編寫Web應用檢視。
8.註冊安裝子應用
在工程配置檔案settings.py中,INSTALLED_APPS項儲存了工程中已經註冊安裝的子應用.
註冊安裝一個子應用的方法,即是將子應用的配置資訊檔案apps.py中的Config類新增到INSTALLED_APPS列表中。
9.建立檢視
Django的檢視是定義在子應用的views.py中的。
fromdjango.http import HttpResponse def hello(request): """ 定義一個檢視函式 :param request: 請求物件 :return: 相應物件 """ return HttpResponse("hello world!")
說明:
- 檢視函式的第一個傳入引數必須定義,用於接收Django構造的包含了請求資料的HttpReqeust物件,通常名為request。
- 檢視函式的返回值必須為一個響應物件,不能像Flask一樣直接返回一個字串,可以將要返回的字串資料放到一個HttpResponse物件中。
10.定義路由url
新建一個urls.py檔案用於儲存該應用的路由。
from django.conf.urls import url from . import views # urlpatterns是被django自動識別的路由列表變數 urlpatterns = [ # 每個路由資訊都需要使用url函式來構造 # url(路徑, 檢視) url(r'^index/$', views.hello), ]
然後在總路由中新增子應用的路由資料。
from django.conf.urls import url, include from django.contrib import admin urlpatterns = [ url(r'^admin/', admin.site.urls), 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 urlpatterns = [ url(r'^admin/', admin.site.urls), # url(r'^users/', include('users.urls')), url(r'^users/', include(users.urls)) ]
執行程式,訪問127.0.0.1:8000/users/index/