亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

秒懂系列 | 史上最簡(jiǎn)單的Python Django入門(mén)教程

系統(tǒng) 1743 0

http://www.cnblogs.com/baiboy/p/django1.html

摘要:Django的學(xué)習(xí)教程也是分門(mén)別類,形式不一。或是較為體系的官方文檔,或者風(fēng)格自由的博客文檔,或者偏向?qū)嵗慕馕鑫臋n。即使官方文檔,章節(jié)較多,文字闡述累贅,有時(shí)候我們只是關(guān)注某個(gè)功能用法而已,而自由博文最大的問(wèn)題是互相抄襲,結(jié)構(gòu)混亂,涵蓋面小且錯(cuò)誤較為明顯。由此,本文結(jié)合學(xué)習(xí)期間資料梳理和項(xiàng)目開(kāi)發(fā)經(jīng)驗(yàn),整理出一套較為常用實(shí)用的文章。

?

適用于

?

  1. 新手入門(mén),無(wú)論C#,C,java,Python,R等具有任何編程語(yǔ)言基礎(chǔ)均可;

  2. 想快速了解Django并可以快速開(kāi)發(fā)上手者。

  3. 適用于作為資料查詢,技術(shù)點(diǎn)參考。

幾個(gè)基本概念

?

前置條件:假設(shè)讀者基本Python語(yǔ)言基礎(chǔ),或者具備某種編程語(yǔ)言的基礎(chǔ)。你還熟悉web開(kāi)發(fā)環(huán)境,懂些css,js,db等。

?

Django是什么?

?

Django是一個(gè)開(kāi)放源代碼的Web應(yīng)用框架,由Python寫(xiě)成。采用了MVC的軟件設(shè)計(jì)模式,即模型M,視圖V和控制器C。它最初是被開(kāi)發(fā)來(lái)用于管理勞倫斯出版集團(tuán)旗下的一些以新聞內(nèi)容為主的網(wǎng)站的。并于2005年7月在BSD許可證下發(fā)布。這套框架是以比利時(shí)的吉普賽爵士吉他手Django Reinhardt來(lái)命名的。 Django的主要目標(biāo)是使得開(kāi)發(fā)復(fù)雜的、數(shù)據(jù)庫(kù)驅(qū)動(dòng)的網(wǎng)站變得簡(jiǎn)單。Django注重組件的重用性和“可插拔性”,敏捷開(kāi)發(fā)和DRY法則(Don't Repeat Yourself)。在Django中Python被普遍使用,甚至包括配置文件和數(shù)據(jù)模型。

————維基百科

?

Django是一個(gè)開(kāi)放源代碼的Web應(yīng)用框架,由Python寫(xiě)成。采用了MVC的框架模式,即模型M,視圖V和控制器C。它最初是被開(kāi)發(fā)來(lái)用于管理勞倫斯出版集團(tuán)旗下的一些以新聞內(nèi)容為主的網(wǎng)站的,即是CMS(內(nèi)容管理系統(tǒng))軟件。并于2005年7月在BSD許可證下發(fā)布。這套框架是以比利時(shí)的吉普賽爵士吉他手Django Reinhardt來(lái)命名的。

————百度百科

?

MTV開(kāi)發(fā)模式?

?

Django是一個(gè)基于MVC構(gòu)造的框架。但是在Django中,控制器接受用戶輸入的部分由框架自行處理,所以 Django 里更關(guān)注的是模型(Model)、模板(Template)和視圖(Views),稱為 MTV模式。它們各自的職責(zé)如下:

?

  1. 模型(Model),即數(shù)據(jù)存取層 處理與數(shù)據(jù)相關(guān)的所有事務(wù): 如何存取、如何驗(yàn)證有效性、包含哪些行為以及數(shù)據(jù)之間的關(guān)系等。

  2. 視圖(View),即表現(xiàn)層 處理與表現(xiàn)相關(guān)的決定: 如何在頁(yè)面或其他類型文檔中進(jìn)行顯示。

  3. 模板(Template),即業(yè)務(wù)邏輯層 存取模型及調(diào)取恰當(dāng)模板的相關(guān)邏輯。模型與模板的橋梁。

秒懂系列 | 史上最簡(jiǎn)單的Python Django入門(mén)教程_第1張圖片

Django的架構(gòu)?

?

讓我們一覽 Django 全貌:

?

urls.py 網(wǎng)址入口,關(guān)聯(lián)到對(duì)應(yīng)的views.py中的一個(gè)函數(shù)(或者generic類),訪問(wèn)網(wǎng)址就對(duì)應(yīng)一個(gè)函數(shù)。

?

views.py 處理用戶發(fā)出的請(qǐng)求,從urls.py中對(duì)應(yīng)過(guò)來(lái), 通過(guò)渲染templates中的網(wǎng)頁(yè)可以將顯示內(nèi)容,比如登陸后的用戶名,用戶請(qǐng)求的數(shù)據(jù),輸出到網(wǎng)頁(yè)。

?

models.py 與數(shù)據(jù)庫(kù)操作相關(guān),存入或讀取數(shù)據(jù)時(shí)用到這個(gè),當(dāng)然用不到數(shù)據(jù)庫(kù)的時(shí)候 你可以不使用。

?

forms.py 表單,用戶在瀏覽器上輸入數(shù)據(jù)提交,對(duì)數(shù)據(jù)的驗(yàn)證工作以及輸入框的生成等工作,當(dāng)然你也可以不使用。

?

templates 文件夾 views.py 中的函數(shù)渲染templates中的Html模板,得到動(dòng)態(tài)內(nèi)容的網(wǎng)頁(yè),當(dāng)然可以用緩存來(lái)提高速度。

?

admin.py 后臺(tái),可以用很少量的代碼就擁有一個(gè)強(qiáng)大的后臺(tái)。

?

settings.py Django 的設(shè)置,配置文件,比如 DEBUG 的開(kāi)關(guān),靜態(tài)文件的位置等。

?

上面的py文件不理解也沒(méi)有關(guān)系,后面會(huì)詳細(xì)介紹。一圖勝千言,架構(gòu)全貌工作機(jī)制如下所示:

秒懂系列 | 史上最簡(jiǎn)單的Python Django入門(mén)教程_第2張圖片

Django大家都在使用的商業(yè)網(wǎng)站

?

Sohu 郵箱 、果殼網(wǎng) 、 豆瓣 、 愛(ài)調(diào)研 、 易度在線云辦公 、 優(yōu)容網(wǎng) 、 快玩游戲、九九房、貸幫網(wǎng) 、 趣奇網(wǎng) 、知乎、時(shí)尚時(shí)空 、游嘻板: YxPad webpy、DNSPod 國(guó)際版 、下廚房 、 貝太廚房 、 Wopus問(wèn)答 、 咕咚網(wǎng) 、扇貝網(wǎng) 、站長(zhǎng)工具、易度文檔管理系統(tǒng)、個(gè)人租房、 在線文檔查看-易度云查看 、 FIFA310 足球數(shù)據(jù)分析專家、 搜狐隨身看等等。

Django配置準(zhǔn)備

?

前置條件:pip、python、sublime、anaconda環(huán)境已經(jīng)安裝。

?

后置條件:

?

檢查是否安裝成功:

?

xxx數(shù)據(jù)統(tǒng)計(jì)分析(決策)平臺(tái)

?

系統(tǒng)環(huán)境:WIN10 64bit

開(kāi)發(fā)環(huán)境:sublime+Anaconda

數(shù)據(jù)庫(kù):Mysql 5.6.17

語(yǔ)言:python3.5

框架:django1.11+Bootstrap

可視化工具:Highchart|Echarts|plotly|Bokeh(采用Echarts)

Django基礎(chǔ)配置安裝

?

1 創(chuàng)建項(xiàng)目,項(xiàng)目決策分析:xmjc_analysis

?

在E盤(pán)根目錄下創(chuàng)建xmjc_analysis:

?

效果:

?

settings.py 項(xiàng)目的設(shè)置文件

urls.py 總的urls配置文件

wsgi.py 部署服務(wù)器文件

__init__.py python包的目錄結(jié)構(gòu)必須的,與調(diào)用有關(guān)。

?

2 創(chuàng)建App名為analysis

?

效果:

秒懂系列 | 史上最簡(jiǎn)單的Python Django入門(mén)教程_第3張圖片

3 新定義的app加到settings.py中的INSTALL_APPS中

秒懂系列 | 史上最簡(jiǎn)單的Python Django入門(mén)教程_第4張圖片

4 視圖和網(wǎng)址創(chuàng)建第一個(gè)頁(yè)面

?

(1)我們?cè)赼nalysis這個(gè)目錄中,把views.py打開(kāi),修改其中的源代碼:

秒懂系列 | 史上最簡(jiǎn)單的Python Django入門(mén)教程_第5張圖片

第一行是聲明編碼為utf-8, 因?yàn)槲覀冊(cè)诖a中用到了中文,如果不聲明就報(bào)錯(cuò).

?

第二行引入HttpResponse,它是用來(lái)向網(wǎng)頁(yè)返回內(nèi)容的,就像Python中的 print 一樣,只不過(guò) HttpResponse 是把內(nèi)容顯示到網(wǎng)頁(yè)上。

?

我們定義了一個(gè)index()函數(shù),第一個(gè)參數(shù)必須是 request,與網(wǎng)頁(yè)發(fā)來(lái)的請(qǐng)求有關(guān),request 變量里面包含get或post的內(nèi)容。

?

(2)我們打開(kāi) xmjc_analysis/xmjc_analysis/urls.py 這個(gè)文件, 修改其中的代碼:

秒懂系列 | 史上最簡(jiǎn)單的Python Django入門(mén)教程_第6張圖片

(3)本地運(yùn)行服務(wù)器測(cè)試

?

注意在項(xiàng)目根目錄xmjc_analysis運(yùn)行結(jié)果如下:

秒懂系列 | 史上最簡(jiǎn)單的Python Django入門(mén)教程_第7張圖片

(4)頁(yè)面?zhèn)鲄?shù),顯示歡迎‘a(chǎn)dmin’字樣

?

修改view.py源碼:

秒懂系列 | 史上最簡(jiǎn)單的Python Django入門(mén)教程_第8張圖片

通過(guò)get方式接受頁(yè)面參數(shù),當(dāng)然也可以采用post,結(jié)合form實(shí)現(xiàn)。

?

5 配置簡(jiǎn)單數(shù)據(jù)庫(kù)操作,默認(rèn)sqlite,咱們指定mysql數(shù)據(jù)庫(kù)

?

(1)在xmjc_analysis/settings.py文件下修改如下:

秒懂系列 | 史上最簡(jiǎn)單的Python Django入門(mén)教程_第9張圖片

xmjc_analysis/__init__.py下修改:

?

(2)在analysis/models.py下設(shè)計(jì)數(shù)據(jù)庫(kù)表,采用ORM方式

秒懂系列 | 史上最簡(jiǎn)單的Python Django入門(mén)教程_第10張圖片

(3) 在analysis/admin.py中定義顯示數(shù)據(jù)

?

(4)創(chuàng)建更改的文件,將生成的py文件應(yīng)用到數(shù)據(jù)庫(kù)

秒懂系列 | 史上最簡(jiǎn)單的Python Django入門(mén)教程_第11張圖片

(5)創(chuàng)建超級(jí)管理員:用戶名,test;密碼密碼:test123456

(6)登錄后臺(tái)查看信息

?

運(yùn)行服務(wù)器:python manage.py runserver

秒懂系列 | 史上最簡(jiǎn)單的Python Django入門(mén)教程_第12張圖片

可以看到后臺(tái)信息,并對(duì)數(shù)據(jù)表進(jìn)行增刪改查操作,但是后臺(tái)全部英文,可以改為中文顯示?

?

后臺(tái)管理設(shè)置為中文顯示,xmjc_analysis/settings.py下修改代碼

?

再去查看:

秒懂系列 | 史上最簡(jiǎn)單的Python Django入門(mén)教程_第13張圖片

(7) Django 提供的 QuerySet API,shell玩轉(zhuǎn)MySql

?

在xmjc_analysis下輸入【 python manage.py shell】,然后查詢數(shù)據(jù)表。

秒懂系列 | 史上最簡(jiǎn)單的Python Django入門(mén)教程_第14張圖片

創(chuàng)建一條用戶信息:

?

后臺(tái)查看:

秒懂系列 | 史上最簡(jiǎn)單的Python Django入門(mén)教程_第15張圖片

其他操作方式:

秒懂系列 | 史上最簡(jiǎn)單的Python Django入門(mén)教程_第16張圖片

(8)批量向數(shù)據(jù)表導(dǎo)入數(shù)據(jù)

?

將name.txt導(dǎo)入數(shù)據(jù)庫(kù):

秒懂系列 | 史上最簡(jiǎn)單的Python Django入門(mén)教程_第17張圖片

數(shù)據(jù)導(dǎo)入源碼:

秒懂系列 | 史上最簡(jiǎn)單的Python Django入門(mén)教程_第18張圖片

查看結(jié)果:

秒懂系列 | 史上最簡(jiǎn)單的Python Django入門(mén)教程_第19張圖片

>> 至此,基本熟悉上手了。深入學(xué)習(xí)待續(xù)...

— End —


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 夜夜夜夜夜夜夜猛噜噜噜噜噜噜 | 久久青草免费视频 | 99在线观看免费视频 | 亚洲精品一区二区三区网址 | 青草伊伊 | 一a一级片 | 中国大陆高清aⅴ毛片 | 老司机午夜精品视频在线观看免费 | 大学生一级黄色片 | 久青草国产手机在线视频 | 私人免费影院入口 | 国产视频一区二区三区四区 | 亚洲综合色婷婷中文字幕 | 日本不卡在线观看 | 老司机午夜剧场 | 久久视频在线看 | 精品午夜久久影视 | 一区二区三区精品视频 | 草草精品视频 | 爆操白虎逼| 欧美日韩高清观看一区二区 | 精品一久久香蕉国产线看观看下 | 日韩欧美视频在线 | 国产精品视频免费视频 | 动漫精品欧美一区二区三区 | 91国自产精品中文字幕亚洲 | 欧洲一级黄色 | 精品国产一区二区三区www | 日韩中文字幕推理片 | 亚洲qingse中文字幕久久 | 免费看黄色片视频 | 日产国产欧美视频一区精品 | 四虎免费在线播放 | 老黄网站 | 欧美大成色www永久网站 | 久久机热re这里只有精品15 | 全黄一级裸片视频在线观看 | 久久精品国产久金国产思思 | 亚洲+自拍+色综合图区一 | 国产激情视频趣趣在线观看的 | 狠狠色狠狠色88综合日日91 |