一骂远、Django概述
1.1 Django由來
Django 是用Python開發(fā)的一個免費(fèi)開源的Web框架喧锦,可以用于快速搭建高性能扎唾,優(yōu)雅的網(wǎng)站营密!Django起始于勞倫斯出版集團(tuán)下屬一家處理新聞信息的子公司進(jìn)行開發(fā)搭建的澄步、專門用來進(jìn)行新聞網(wǎng)站開發(fā)而使用的一個小模塊冰蘑。后來隨著廣大IT人士經(jīng)過大量的完善和擴(kuò)展后,于2008年發(fā)布了第一個Django1.1的版本村缸。
web框架:簡單來說就是別人已經(jīng)設(shè)定好的一個web網(wǎng)站模板祠肥,你學(xué)習(xí)它的規(guī)則,然后“填空”或“修改”成你自己需要的樣子梯皿。
一般web框架的架構(gòu)如下:
1.2 Django的特點(diǎn)
1仇箱、強(qiáng)大的數(shù)據(jù)庫功能
用python的類繼承,幾行代碼就可以擁有一個豐富东羹,動態(tài)的數(shù)據(jù)庫操作接口(API)剂桥,如果需要你也能執(zhí)行SQL語句
2、自帶的強(qiáng)大的后臺功能
幾行簡單的代碼就讓你的網(wǎng)站擁有一個強(qiáng)大的后臺属提,輕松管理你的內(nèi)容权逗!
3美尸、優(yōu)雅的網(wǎng)址
用正則匹配網(wǎng)址,傳遞到對應(yīng)函數(shù)斟薇,隨意定義师坎,如你所想!
4堪滨、模板系統(tǒng)
強(qiáng)大胯陋,易擴(kuò)展的模板系統(tǒng),設(shè)計簡易袱箱,代碼遏乔,樣式分開設(shè)計,更容易管理发笔。
5盟萨、緩存系統(tǒng)
與memcached或其它的緩存系統(tǒng)聯(lián)用,更出色的表現(xiàn)筐咧,更快的加載速度鸯旁。
6、國際化
完全支持多語言應(yīng)用量蕊,允許你定義翻譯的字符铺罢,輕松翻譯成不同國家的語言。
1.3 MVC/MVT架構(gòu)模式
MVC百度百科:全名Model View Controller残炮,是模型(model)-視圖(view)-控制器(controller)的縮寫韭赘,一種軟件設(shè)計典范,用一種業(yè)務(wù)邏輯势就、數(shù)據(jù)泉瞻、界面顯示分離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個部件里面苞冯,在改進(jìn)和個性化定制界面及用戶交互的同時袖牙,不需要重新編寫業(yè)務(wù)邏輯。
通俗解釋:一種文件的組織和管理形式舅锄!不要被縮寫嚇到了鞭达,這其實就是把不同類型的文件放到不同的目錄下的一種方法,然后取了個高大上的名字皇忿。當(dāng)然畴蹭,它帶來的好處有很多,比如前后端分離鳍烁,松耦合等等叨襟,就不詳細(xì)說明了。
模型(model):定義數(shù)據(jù)庫相關(guān)的內(nèi)容幔荒,一般放在models.py文件中糊闽。
視圖(view):定義HTML等靜態(tài)網(wǎng)頁文件相關(guān)梳玫,也就是那些html、css墓怀、js等前端的東西汽纠。
控制器(controller):定義業(yè)務(wù)邏輯相關(guān),就是你的主要代碼傀履。
MTV: 有些WEB框架覺得MVC的字面意思很別扭,就給它改了一下莉炉。view不再是HTML相關(guān)钓账,而是主業(yè)務(wù)邏輯了,相當(dāng)于控制器絮宁。html被放在Templates中梆暮,稱作模板,于是MVC就變成了MTV绍昂。這其實就是一個文字游戲啦粹,和MVC本質(zhì)上是一樣的,換了個名字和叫法而已窘游,換湯不換藥唠椭。
二、Django安裝
1忍饰、使用pip命令安裝
在cmd命令提示行中輸入:pip intall django
如果想安裝指定的django版本贪嫂,輸入命令:pip install django==django版本號
2、檢查django是否安裝成功
命令行中輸入:django-admin --version
或者進(jìn)入python環(huán)境艾蓝,輸入下圖命令
以上兩種方式均檢測django安裝是否成功
1力崇、安裝django之前要確保python環(huán)境是否搭建成功
2、使用pip命令是否裝過pip模塊
3赢织、如果django-admin命令無法使用亮靴,系統(tǒng)提示“django-admin不是系統(tǒng)內(nèi)部命令”的字樣,說明環(huán)境變量沒有配好于置,將python安裝目錄下的scripts目錄配置到環(huán)境變量中茧吊,就可以使用該命令了。
三俱两、創(chuàng)建django項目
1饱狂、使用命令django-admin startproject test1
當(dāng)創(chuàng)建好一個django項目后,在pycharm中打開該項目宪彩,目錄結(jié)構(gòu)如下圖所示:
|--test1/ #項目文件
|--test1/ #項目根模塊
|--init.py #項目模塊定義文件
|--settings.py #項目的配置文件
|--urls.py #網(wǎng)站路由配置文件
|--wsgi.py #wsgi網(wǎng)關(guān)接口操作文件
|--manage.py #項目命令模塊休讳,命令行執(zhí)行命令時使用
2、運(yùn)行項目 python manage.py runserver [ip:port]
1尿孔、在執(zhí)行這條命令前俊柔,先進(jìn)入test1(項目文件中)
2筹麸、可以在瀏覽器的url地址欄輸入127.0.0.1:8000或者localhost:8000去訪問服務(wù)器,當(dāng)出現(xiàn)上圖二雏婶,說明服務(wù)器正在執(zhí)行
3物赶、在默認(rèn)情況下,該服務(wù)器只允許本機(jī)訪問留晚,端口號為8000酵紫,我們可以修改它的配置文件讓其他主機(jī)來訪問本服務(wù)器。在settings.py中有一個允許訪問主機(jī)地址的配置ALLOWED_HOSTS可以設(shè)ALLOWED_HOSTS = ['*']配置允許所有地址訪問同時在啟動項目時错维,通過綁定固定的IP地址+端口進(jìn)行如下啟動操作python manage.py runserver 0.0.0.0:8000此時奖地,運(yùn)行的項目可以在任意IP地址下都可以訪問了!
3赋焕、創(chuàng)建根模塊視圖
3.1 在test1/test1目錄下創(chuàng)建一個views.py文件参歹,在該文件中定義一個視圖處理函數(shù)index(),函數(shù)內(nèi)容如下圖
3.2 配置路由文件隆判,打開mysite/mysite/urls.py路由配置文件犬庇,編輯如下代碼:
from django.conf.urls import url
from django.contrib import admin
from . import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r"^$",views.index,name='index'),
]