http://www.cnblogs.com/baiboy/p/django1.htmlcss
摘要:Django的學習教程也是分門別類,形式不一。或是較爲體系的官方文檔,或者風格自由的博客文檔,或者偏向實例的解析文檔。即便官方文檔,章節較多,文字闡述累贅,有時候咱們只是關注某個功能用法而已,而自由博文最大的問題是互相抄襲,結構混亂,涵蓋面小且錯誤較爲明顯。由此,本文結合學習期間資料梳理和項目開發經驗,整理出一套較爲經常使用實用的文章。html
適用於java
新手入門,不管C#,C,java,Python,R等具備任何編程語言基礎都可;python
想快速瞭解Django並能夠快速開發上手者。mysql
適用於做爲資料查詢,技術點參考。web
幾個基本概念sql
前置條件:假設讀者基本Python語言基礎,或者具有某種編程語言的基礎。你還熟悉web開發環境,懂些css,js,db等。shell
Django是什麼?數據庫
Django是一個開放源代碼的Web應用框架,由Python寫成。採用了MVC的軟件設計模式,即模型M,視圖V和控制器C。它最初是被開發來用於管理勞倫斯出版集團旗下的一些以新聞內容爲主的網站的。並於2005年7月在BSD許可證下發布。這套框架是以比利時的吉普賽爵士吉他手Django Reinhardt來命名的。 Django的主要目標是使得開發複雜的、數據庫驅動的網站變得簡單。Django注重組件的重用性和「可插拔性」,敏捷開發和DRY法則(Don't Repeat Yourself)。在Django中Python被廣泛使用,甚至包括配置文件和數據模型。django
————維基百科
Django是一個開放源代碼的Web應用框架,由Python寫成。採用了MVC的框架模式,即模型M,視圖V和控制器C。它最初是被開發來用於管理勞倫斯出版集團旗下的一些以新聞內容爲主的網站的,便是CMS(內容管理系統)軟件。並於2005年7月在BSD許可證下發布。這套框架是以比利時的吉普賽爵士吉他手Django Reinhardt來命名的。
————百度百科
MTV開發模式?
Django是一個基於MVC構造的框架。可是在Django中,控制器接受用戶輸入的部分由框架自行處理,因此 Django 裏更關注的是模型(Model)、模板(Template)和視圖(Views),稱爲 MTV模式。它們各自的職責以下:
模型(Model),即數據存取層 處理與數據相關的全部事務: 如何存取、如何驗證有效性、包含哪些行爲以及數據之間的關係等。
視圖(View),即表現層 處理與表現相關的決定: 如何在頁面或其餘類型文檔中進行顯示。
模板(Template),即業務邏輯層 存取模型及調取恰當模板的相關邏輯。模型與模板的橋樑。
Django的架構?
讓咱們一覽 Django 全貌:
urls.py 網址入口,關聯到對應的views.py中的一個函數(或者generic類),訪問網址就對應一個函數。
views.py 處理用戶發出的請求,從urls.py中對應過來, 經過渲染templates中的網頁能夠將顯示內容,好比登錄後的用戶名,用戶請求的數據,輸出到網頁。
models.py 與數據庫操做相關,存入或讀取數據時用到這個,固然用不到數據庫的時候 你能夠不使用。
forms.py 表單,用戶在瀏覽器上輸入數據提交,對數據的驗證工做以及輸入框的生成等工做,固然你也能夠不使用。
templates 文件夾 views.py 中的函數渲染templates中的Html模板,獲得動態內容的網頁,固然能夠用緩存來提升速度。
admin.py 後臺,能夠用不多量的代碼就擁有一個強大的後臺。
settings.py Django 的設置,配置文件,好比 DEBUG 的開關,靜態文件的位置等。
上面的py文件不理解也沒有關係,後面會詳細介紹。一圖勝千言,架構全貌工做機制以下所示:
Django你們都在使用的商業網站
Sohu 郵箱 、果殼網 、 豆瓣 、 愛調研 、 易度在線雲辦公 、 優容網 、 快玩遊戲、九九房、貸幫網 、 趣奇網 、知乎、時尚時空 、遊嘻板: YxPad webpy、DNSPod 國際版 、下廚房 、 貝太廚房 、 Wopus問答 、 咕咚網 、扇貝網 、站長工具、易度文檔管理系統、我的租房、 在線文檔查看-易度雲查看 、 FIFA310 足球數據分析專家、 搜狐隨身看等等。
Django配置準備
前置條件:pip、python、sublime、anaconda環境已經安裝。
後置條件:
檢查是否安裝成功:
xxx數據統計分析(決策)平臺
系統環境:WIN10 64bit
開發環境:sublime+Anaconda
數據庫:Mysql 5.6.17
語言:python3.5
框架:django1.11+Bootstrap
可視化工具:Highchart|Echarts|plotly|Bokeh(採用Echarts)
Django基礎配置安裝
1 建立項目,項目決策分析:xmjc_analysis
在E盤根目錄下建立xmjc_analysis:
效果:
settings.py 項目的設置文件
urls.py 總的urls配置文件
wsgi.py 部署服務器文件
__init__.py python包的目錄結構必須的,與調用有關。
2 建立App名爲analysis
效果:
3 新定義的app加到settings.py中的INSTALL_APPS中
4 視圖和網址建立第一個頁面
(1)咱們在analysis這個目錄中,把views.py打開,修改其中的源代碼:
第一行是聲明編碼爲utf-8, 由於咱們在代碼中用到了中文,若是不聲明就報錯.
第二行引入HttpResponse,它是用來向網頁返回內容的,就像Python中的 print 同樣,只不過 HttpResponse 是把內容顯示到網頁上。
咱們定義了一個index()函數,第一個參數必須是 request,與網頁發來的請求有關,request 變量裏面包含get或post的內容。
(2)咱們打開 xmjc_analysis/xmjc_analysis/urls.py 這個文件, 修改其中的代碼:
(3)本地運行服務器測試
注意在項目根目錄xmjc_analysis運行結果以下:
(4)頁面傳參數,顯示歡迎‘admin’字樣
修改view.py源碼:
經過get方式接受頁面參數,固然也能夠採用post,結合form實現。
5 配置簡單數據庫操做,默認sqlite,我們指定mysql數據庫
(1)在xmjc_analysis/settings.py文件下修改以下:
xmjc_analysis/__init__.py下修改:
(2)在analysis/models.py下設計數據庫表,採用ORM方式
(3) 在analysis/admin.py中定義顯示數據
(4)建立更改的文件,將生成的py文件應用到數據庫
(5)建立超級管理員:用戶名,test;密碼密碼:test123456
(6)登陸後臺查看信息
運行服務器:python manage.py runserver
能夠看到後臺信息,並對數據表進行增刪改查操做,可是後臺所有英文,能夠改成中文顯示?
後臺管理設置爲中文顯示,xmjc_analysis/settings.py下修改代碼
再去查看:
(7) Django 提供的 QuerySet API,shell玩轉MySql
在xmjc_analysis下輸入【 python manage.py shell】,而後查詢數據表。
建立一條用戶信息:
後臺查看:
其餘操做方式:
(8)批量向數據表導入數據
將name.txt導入數據庫:
數據導入源碼:
查看結果:
>> 至此,基本熟悉上手了。深刻學習待續...
— End —