????????????? Python? web開發(fā)----->快速搭建Django項(xiàng)目結(jié)構(gòu)
一闺阱,Django的概述..
完善的項(xiàng)目結(jié)構(gòu)——MVT處理模式
強(qiáng)大的后臺(tái)系統(tǒng)——內(nèi)置的后臺(tái)管理網(wǎng)站
高效的ORM操作——程序數(shù)據(jù)對(duì)象和數(shù)據(jù)庫交互——封裝好
優(yōu)雅的模板系統(tǒng)——程序數(shù)據(jù)和前端網(wǎng)頁無縫交互
完美的路由管理——非常完善的固灵、有組織的婴渡、有結(jié)構(gòu)的請(qǐng)求和處理函數(shù)的映射管理
高大上的表單封裝——簡單表單處理鹿鳖、封裝完善的具備強(qiáng)大功能的表單處理封裝好
高性能的緩存支持——從文件緩存混滔、數(shù)據(jù)庫緩存->redis緩存都有非常友好的支持
二业汰,MVC處理:
MVC處理模型:
MVC是在軟件三層模型結(jié)構(gòu)基礎(chǔ)上發(fā)展完善出來的一種編程思想蔑鹦,是一種解決問題的思路,由三部分組成:
展示界面的視圖:View
控制請(qǐng)求和業(yè)務(wù)處理的部分:Controller
封裝處理數(shù)據(jù)數(shù)據(jù)模型部分:Model
通過如下流程操作完成整體一個(gè)功能呢:視圖View發(fā)起請(qǐng)求弟晚,控制器Controller接受到請(qǐng)求忘衍,根據(jù)不同的請(qǐng)求處理不同的數(shù)據(jù)Model,根據(jù)處理結(jié)果返回到下一個(gè)展示視圖View
三卿城,MVT處理:
Model:數(shù)據(jù)模型
View:視圖模型
Template:模板模型
基本流程:網(wǎng)頁[View]發(fā)起請(qǐng)求枚钓,請(qǐng)求被路由處理[Route]找到請(qǐng)求地址對(duì)應(yīng)的視圖處理函數(shù),視圖處理函數(shù)[view]處理具體的數(shù)據(jù)[Model]瑟押,在數(shù)據(jù)庫中進(jìn)行了CRUD操作搀捷,操作完成之后將數(shù)據(jù)添加到模板中[Template]在網(wǎng)頁上進(jìn)行展示
四,安裝Djano:
pip?install django ?安裝最新版
pip install django==1.11 安裝指定版本
查看已經(jīng)安裝的程序
pip list
查看django是否安裝成功
django-admin --version
五多望,創(chuàng)建Django項(xiàng)目:
django-admin startproject 項(xiàng)目名稱
創(chuàng)建程序:django-admin startapp 程序名稱
生成指定數(shù)據(jù)庫SQL腳本:python manage.py makemigrations
自動(dòng)執(zhí)行SQL腳本到數(shù)據(jù)庫:python manage.py migrate
創(chuàng)建超級(jí)管理員:python mangae.py createsuperuser
運(yùn)行程序:python manage.py runserver
六嫩舟,項(xiàng)目基本結(jié)構(gòu):
??????????????????????????? 下面講解以創(chuàng)建mysite項(xiàng)目為例:
|--?mysite/??項(xiàng)目主目錄
|--?mysite/ ?根管理項(xiàng)目
?????|-- __init__.py ?包聲明文件
?????|-- settings.py 項(xiàng)目配置信息
?????|-- urls.py 路由配置信息~配置請(qǐng)求地址
?????|-- wsgi.py ?實(shí)現(xiàn)了wsgi協(xié)議的模塊
|--?manage.py 項(xiàng)目命令行啟動(dòng)模塊
七,快速搭建Djanjo項(xiàng)目結(jié)構(gòu)步驟:
1怀偷,創(chuàng)建項(xiàng)目
2家厌,創(chuàng)建子程序
3,給每個(gè)子程序創(chuàng)建一個(gè)urls.py文件
4椎工,給根管理項(xiàng)目創(chuàng)建views.py文件
5饭于,項(xiàng)目注冊(cè):在根管理項(xiàng)目settings.py->INSTALLED_APPS添加子項(xiàng)目
6,路由注冊(cè):在每個(gè)子項(xiàng)目下面創(chuàng)建一個(gè)urls.py文件维蒙,將文件訪問路徑注冊(cè)給根管理項(xiàng)目中的主路由
八掰吕,urls.py路由模塊講解:
from django.conf.urls import url [路由對(duì)象]
路由對(duì)象:對(duì)url地址和視圖處理函數(shù)對(duì)應(yīng)關(guān)系的定義
url(訪問路徑,處理函數(shù)颅痊,路由名稱)
from django.conf.urls import include[包含對(duì)象]
包含對(duì)象:主路由中包含添加一個(gè)子路由殖熟,兩個(gè)路由的路徑就可以拼接
主路由:url(r’^user/’, include(‘user.urls’)) ? ? ? ? ? #user是創(chuàng)建的子程序名稱
子路由:url(r’^perfect/$’, views.perfect, name=’perfect’)
用戶訪問:http://localhost:8000/user/perfect/
調(diào)用:views.perfect
九,viwes.py視圖模塊講解:
from django.http import HttpResponse[響應(yīng)對(duì)象]
響應(yīng)對(duì)象:實(shí)現(xiàn)了超文本傳輸協(xié)議的響應(yīng)對(duì)象,可以返回?cái)?shù)據(jù)給發(fā)送請(qǐng)求的瀏覽器
return HttpResponse(‘返回給瀏覽器展示的數(shù)據(jù)’)