---恢復內容開始---css
(1-7)爲第一種建立虛擬環境的方法html
1. 安裝Python前端
2. 在cmd命令行中使用pip安裝:pip install virtualenvpython
3. 新建虛擬環境:virtualenv testvirlinux
4. 進入該虛擬環境:cd testvirweb
5. cd Scriptssql
6. activate.bat就進入了該虛擬環境 數據庫
如圖所示: django
7. 退出爲deactivate.batflask
=========================================================================================
(8-12)爲第二種建立環境的方法
8. Windows下虛擬環境安裝,能夠直接使用workon命令:敲入命令:
pip install virtualenvwrapper-win
9. 新建虛擬環境:mkvirtualenv testvir2
(能夠看到改環境的位置爲:C:\Users\wang\Envs\testvir2)
10. 查看全部的虛擬環境:workon
11. 快捷進入虛擬環境:workon testvir2
12. 進入虛擬環境以後安裝Python包,pip install requests
13. 卸載Python包:pip uninstall requests
14. 查看全部的包:pip list
15. 安裝django:pip install django==1.9.8
如圖表示安裝完成:
16. pycharm建立項目時選擇的環境位置爲:
G:\Users\wang\Envs\testvir2\Scripts\python.exe
如圖所示:
17.點擊建立便可建立完成django項目
18.點擊pycharm下面的Run菜單run按鈕,如圖所示:
19.在開發工具的輸入欄能夠看到:Starting development server at http://127.0.0.1:8000/則表明項目啓動成功。
20.在瀏覽器中輸入http://127.0.0.1:8000/便可訪問。
備註:python3.6使用pip的命令爲:pip3
============================================================================================================
示例: 建立項目的名稱爲testDJ
(1):目錄結構是這樣的:
目錄說明:
》manage.py 一個命令行工具,可使你使用多種方式對Django項目進行交互
》__inint__.py 一個空文件,它告訴python 這個目錄應該被看作一個python包
》settings.py 項目的配置
》urls.py 項目的url聲明
》wsgi.py 項目與WSGI兼容的Web服務器入口
(2)建立應用
每一個項目中均可以建立一個或者多個應用,每一個應用進行一種業務處理
建立應用的命令(直接在pycharm此項目的命令窗口輸入):
python manager.py startapp booktest (此處的booktest爲應用的名字)
這時候目錄結構就會多出:
》admin.py 管理的模塊
》models.py 寫模型類的
》test.py測試
》views.py 視圖和函數寫在這裏面
(3)隨便寫一個模型類,做爲例子
(3)把應用在settings文件中設置註冊
(4)模型類寫好以後 要生成遷移
使用命令行: python manage.py makemigrations
生成遷移以後
目錄結構migrations包中會多出一個文件
多出這樣文件做用就是根據當前的模型類生成對應的一些語句
(5)執行遷移
命令:python manage.py migrate
挨個執行生成的遷移文件,做用是根據生成的遷移文件執行sql語句來建立表
=======================================================================================================
下面引用別人的筆記步奏(很詳細)
百度百科:開放源代碼的Web應用框架,由Python語言編寫......
重點:一個大而全的框架,啥都替你考慮好了。
具體介紹Django以前,必須先介紹WEB框架等概念。
web框架: 別人已經設定好的一個web網站模板,你學習它的規則,而後「填空」或「修改」成你本身須要的樣子。
通常web框架的架構是這樣的:
其它基於python的web框架,如tornado、flask、webpy都是在這個範圍內進行增刪裁剪的。例如tornado用的是本身的異步非阻塞「wsgi」,flask則只提供了最精簡和基本的框架。Django則是直接使用了WSGI,並實現了大部分功能。
MVC百度百科:全名Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設計典範,用一種業務邏輯、數據、界面顯示分離的方法組織代碼,將業務邏輯彙集到一個部件裏面,在改進和個性化定製界面及用戶交互的同時,不須要從新編寫業務邏輯。
通俗解釋:一種文件的組織和管理形式!不要被縮寫嚇到了,這其實就是把不一樣類型的文件放到不一樣的目錄下的一種方法,而後取了個高大上的名字。固然,它帶來的好處有不少,好比先後端分離,鬆耦合等等,就不詳細說明了。
模型(model):定義數據庫相關的內容,通常放在models.py文件中。
視圖(view):定義HTML等靜態網頁文件相關,也就是那些html、css、js等前端的東西。
控制器(controller):定義業務邏輯相關,就是你的主要代碼。
MTV: 有些WEB框架以爲MVC的字面意思很彆扭,就給它改了一下。view再也不是HTML相關,而是主業務邏輯了,至關於控制器。html被放在Templates中,稱做模板,因而MVC就變成了MTV。這其實就是一個文字遊戲,和MVC本質上是同樣的,換了個名字和叫法而已,換湯不換藥。
目錄分開,就必須有機制將他們在內裏進行耦合。在Django中,urls、orm、static、settings等起着重要的做用。一個典型的業務流程是以下圖所示:
那麼咱們學Django學的是什麼?
1. 目錄結構規範
2. urls路由方式
3. settings配置
4. ORM操做
5. 模板渲染
6.其它
python3.五、pip3及pycharm專業版自行安裝。
這裏只介紹較爲簡單的pip3命令安裝方式。
win+r,調出cmd,運行命令:pip3 install django,自動安裝Pypi提供的最新版本。
安裝完成後以下圖所示:
成功安裝Django後,在下圖中的路徑可找到django-admin.exe文件,將它加入操做系統環境變量中。這樣在之後的調用會比較方便。
運行:django-admin help,能看到下面的內容表示OK。
在linux等命令行界面下,使用django提供的命令和vim也能進行項目開發。可是,這裏推薦使用pycharm這個目前最好的python開發IDE
,它功能強大,界面友好。(下面全部的操做都在pycharm中進行。)
點擊:file-->new project,出現下面的對話框。
選擇Django欄目,輸入項目名稱,這裏採用國際慣例的mysite。選擇python解釋器版本,點擊create建立。
Django將自動生成下面的目錄結構:
與項目同名的目錄中是配置文件,templates目錄是html文件存放也就是MTV中的T。manage.py是django項目管理文件。
在每一個django項目中能夠包含多個APP,至關於一個大型項目中的分系統、子模塊、功能部件等等,相互之間比較獨立,但也有聯繫。
全部的APP共享項目資源。
在pycharm下方的terminal終端中輸入命令:
python manage.py startapp cmdb
這樣就建立了一個叫作cmdb的APP,django自動生成「cmdb」文件夾。
路由都在urls文件裏,它將瀏覽器輸入的url映射到相應的業務處理邏輯。
簡單的urls編寫方法以下圖:
業務處理邏輯都在views.py文件裏。
經過上面兩個步驟,咱們將index這個url指向了views裏的index()函數,它接收用戶請求,並返回一個「hello world」字符串。
如今咱們已經能夠將web服務運行起來了。
命令行的方式是:python manage.py runserver 127.0.0.1:8000
但在pycharm中,你能夠這麼幹:
在上部工具欄中找到下面圖示的圖標。
點擊下拉箭頭
點擊edit configurations
在host中填入:127.0.0.1 port中填入:8000
OK肯定以後,點擊綠色的三角,web服務就運行起來了。
按圖所示,自動跳轉到瀏覽器程序界面。顯示的倒是下圖的404頁面:
修改一下url,添加「/index」,就一切ok了!
至此,一個最簡單的django編寫的web服務就啓動成功了。
上面咱們返回給用戶瀏覽器的是什麼?一個字符串!實際上這確定不行,一般咱們都是將html文件返回給用戶。
下面,咱們寫這麼一個index.html文件:
再修改一下views文件:
爲了讓django知道咱們的html文件在哪裏,須要修改settings文件的相應內容。但默認狀況下,它正好適用,你無需修改。
接下來,咱們能夠從新啓動web服務。在瀏覽器刷新一下,你會看到帶有樣式的「hello world」。
注:這裏有個小技巧,在屢次頻繁重啓服務時,因爲端口未釋放的緣由,容易啓動不了服務,修改一下端口就OK了。
咱們已經能夠將html文件返還給用戶了,可是還不夠,前端三大塊,html、css、js還有各類插件,它們齊全才是一個完整
的頁面。在django中,通常將靜態文件放在static目錄中。接下來,在mysite中新建個static目錄。
你的CSS,JS和各類插件均可以放置在這個目錄裏。
爲了讓django找到這個目錄,依然須要對settings進行配置:
一樣,在index.html文件中,能夠引入js文件了:
從新啓動web服務,刷新瀏覽器,查看結果。
上面,咱們將一個要素齊全的html文件返還給了用戶瀏覽器。但這還不夠,由於web服務器和用戶之間沒有動態交互。
下面咱們設計一個表單,讓用戶輸入用戶名和密碼,提交給index這個url,服務器將接收到這些數據。
先修改index.html文件
而後修改views.py文件
此時 ,重啓web服務時,會出錯,由於django有一個csrf跨站請求保護機制,咱們暫時在settings文件中將它關閉,或者在form表單裏添加一個`{% csrf_token %}`標籤。這裏爲了演示方便,咱們採用臨時關閉的方式。
再次進入瀏覽器,刷新頁面:
輸入點東西,而後咱們在pycharm中能夠看到相應的數據。
咱們收到了用戶的數據,但返回給用戶的依然是個靜態頁面,一般咱們會根據用戶的數據,進行處理後在返回給用戶。
這時候,django採用本身的模板語言,相似jinja2,根據提供的數據,替換掉html中的相應部分,詳細語法入門後再深刻學習。
先改造views.py文件:
再改造index.html文件:
重啓服務,刷新瀏覽器:
能夠看到,咱們得到了用戶實時輸入的數據,並將它實時展現在了用戶頁面上,這是個不錯的交互過程。
流程走到這裏,django的MTV框架基本已經浮出水面了,只剩下最後的數據庫部分了。
上面咱們雖然和用戶交互得很好,但並無保存任何數據,頁面一旦關閉,或服務器重啓,一切都將回到原始狀態。
使用數據庫是毫無疑問的,django經過自帶的ORM框架操做數據庫,而且自帶輕量級的sqlite3數據庫。下面咱們來看一看:
首先是註冊app:
不註冊它,你的數據庫就不知道該給哪一個app建立表。
而後咱們在settings中,配置數據庫相關的參數,若是使用自帶的sqlite,不須要修改。
再編輯models.py文件,也就是MTV中的M。
這裏咱們建立了2個字段,分別保存用戶的名字和密碼。
接下來要在pycharm的teminal中經過命令建立數據庫的表了。有2條命令,分別是:
python manage.py makemigrations
再輸入命令:python manage.py migrate
修改views.py中的業務邏輯
重啓web服務後,刷新瀏覽器頁面,以後和用戶交互的數據都能保存到數據庫中。任什麼時候候均可以從數據庫中讀取數據,展現到頁面上。
至此,一個要素齊全,主體框架展現清晰的django項目完成了,其實很簡單是否是?
做爲python必須web框架的Django,它的功能強大,內容全面,但同時也意味着限制頗多,靈活性低,可修改性差,這就是魚和熊掌不可兼得了。咱們學習Django,其實就是學習一個軟件,要理解它的基本原理,把握它總體框架,牢記一些基本規則,剩下的就是不斷深刻細節,而後熟能生巧、經驗多少的問題了,不存在多高深的不可掌握技術。
關於學習方法的建議:學習任何東西,不要直接扎入細節,應該先了解它的外圍知識,看看它的總體架構,再學習它的基本內容,而後纔是深刻學習,打磨技巧!