成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Django在pycharm下的使用方法是什么

這篇文章將為大家詳細講解有關Django在pycharm下的使用方法是什么,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

成都創(chuàng)新互聯(lián)成立與2013年,公司以成都網(wǎng)站建設、網(wǎng)站建設、系統(tǒng)開發(fā)、網(wǎng)絡推廣、文化傳媒、企業(yè)宣傳、平面廣告設計等為主要業(yè)務,適用行業(yè)近百種。服務企業(yè)客戶1000多家,涉及國內多個省份客戶。擁有多年網(wǎng)站建設開發(fā)經驗。為企業(yè)提供專業(yè)的網(wǎng)站建設、創(chuàng)意設計、宣傳推廣等服務。 通過專業(yè)的設計、獨特的風格,為不同客戶提供各種風格的特色服務。

環(huán)境:

windows7  

python3.5.1 

pycharm專業(yè)版 

Django 1.10版

pip3

一、Django簡介

百度百科:開放源代碼的Web應用框架,由Python語言編寫......

重點:一個大而全的框架,啥都替你考慮好了。

1. web框架介紹

具體介紹Django之前,必須先介紹WEB框架等概念。

web框架: 別人已經設定好的一個web網(wǎng)站模板,你學習它的規(guī)則,然后“填空”或“修改”成你自己需要的樣子。

一般web框架的架構是這樣的:

 Django在pycharm下的使用方法是什么

其它基于python的web框架,如tornado、flask、webpy都是在這個范圍內進行增刪裁剪的。例如tornado用的是自己的異步非阻塞“wsgi”,flask則只提供了最精簡和基本的框架。Django則是直接使用了WSGI,并實現(xiàn)了大部分功能。

2. MVC/MTV介紹

MVC百度百科:全名Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設計典范,用一種業(yè)務邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼,將業(yè)務邏輯聚集到一個部件里面,在改進和個性化定制界面及用戶交互的同時,不需要重新編寫業(yè)務邏輯。

通俗解釋:一種文件的組織和管理形式!不要被縮寫嚇到了,這其實就是把不同類型的文件放到不同的目錄下的一種方法,然后取了個高大上的名字。當然,它帶來的好處有很多,比如前后端分離,松耦合等等,就不詳細說明了?!    ?/p>

       模型(model):定義數(shù)據(jù)庫相關的內容,一般放在models.py文件中。

視圖(view):定義HTML等靜態(tài)網(wǎng)頁文件相關,也就是那些html、css、js等前端的東西。

控制器(controller):定義業(yè)務邏輯相關,就是你的主要代碼。

MTV: 有些WEB框架覺得MVC的字面意思很別扭,就給它改了一下。view不再是HTML相關,而是主業(yè)務邏輯了,相當于控制器。html被放在Templates中,稱作模板,于是MVC就變成了MTV。這其實就是一個文字游戲,和MVC本質上是一樣的,換了個名字和叫法而已,換湯不換藥。

3.Django的MTV模型組織

目錄分開,就必須有機制將他們在內里進行耦合。在Django中,urls、orm、static、settings等起著重要的作用。一個典型的業(yè)務流程是如下圖所示:

 Django在pycharm下的使用方法是什么

那么我們學Django學的是什么?

1. 目錄結構規(guī)范

2. urls路由方式

3. settings配置

4. ORM操作

5. jinja2模板渲染

6.其它

二、Django項目實例

1. 程序安裝

python3.5、pip3及pycharm專業(yè)版自行安裝。pycharm不要使用免費版,它不支持Django。

(1)安裝Django:

這里只介紹較為簡單的pip3命令安裝方式。

win+r,調出cmd,運行命令:pip3 install django,自動安裝Pypi提供的最新版本。

 Django在pycharm下的使用方法是什么

安裝完成后如下圖所示:

Django在pycharm下的使用方法是什么

(2)配置系統(tǒng)環(huán)境

成功安裝Django后,在下圖中的路徑可找到django-admin.exe文件,將它加入操作系統(tǒng)環(huán)境變量中。這樣在以后的調用會比較方便。

運行:django-admin help,能看到下面的內容表示OK。

Django在pycharm下的使用方法是什么

Django在pycharm下的使用方法是什么

Django在pycharm下的使用方法是什么

 2. 創(chuàng)建django項目

在linux等命令行界面下,使用django提供的命令和vim也能進行項目開發(fā)。但是,這里推薦使用pycharm這個目前最好的python開發(fā)IDE,它功能強大,界面友好。(下面所有的操作都在pycharm中進行。)

點擊:file-->new project,出現(xiàn)下面的對話框。

Django在pycharm下的使用方法是什么

選擇Django欄目,輸入項目名稱,這里采用國際慣例的mysite。選擇python解釋器版本,點擊create創(chuàng)建。

Django將自動生成下面的目錄結構:

Django在pycharm下的使用方法是什么

與項目同名的目錄中是配置文件,templates目錄是html文件存放也就是MTV中的T。manage.py是django項目管理文件。

Django在pycharm下的使用方法是什么

3. 創(chuàng)建APP

在每個django項目中可以包含多個APP,相當于一個大型項目中的分系統(tǒng)、子模塊、功能部件等等,相互之間比較獨立,但也有聯(lián)系。

所有的APP共享項目資源。

在pycharm下方的terminal終端中輸入命令:

python manage.py startapp cmdb

這樣就創(chuàng)建了一個叫做cmdb的APP,django自動生成“cmdb”文件夾。

 Django在pycharm下的使用方法是什么

4. 編寫路由

路由都在urls文件里,它將瀏覽器輸入的url映射到相應的業(yè)務處理邏輯。

簡單的urls編寫方法如下圖:

Django在pycharm下的使用方法是什么

5. 編寫業(yè)務處理邏輯

業(yè)務處理邏輯都在views.py文件里。

通過上面兩個步驟,我們將index這個url指向了views里的index()函數(shù),它接收用戶請求,并返回一個“hello world”字符串。

Django在pycharm下的使用方法是什么

6. 運行web服務

現(xiàn)在我們已經可以將web服務運行起來了。

命令行的方式是:python manage.py runserver 127.0.0.1:8000

但在pycharm中,你可以這么干:

在上部工具欄中找到下面圖示的圖標。

Django在pycharm下的使用方法是什么

點擊下拉箭頭

點擊edit configurations

在host中填入:127.0.0.1   port中填入:8000

OK確定之后,點擊綠色的三角,web服務就運行起來了。

按圖所示,自動跳轉到瀏覽器程序界面。顯示的卻是下圖的404頁面:

修改一下url,添加“/index”,就一切ok了!

至此,一個最簡單的django編寫的web服務就啟動成功了。

Django在pycharm下的使用方法是什么

7.  返回HTML文件

上面我們返回給用戶瀏覽器的是什么?一個字符串!實際上這肯定不行,通常我們都是將html文件返回給用戶。

下面,我們寫這么一個index.html文件:

Django在pycharm下的使用方法是什么

再修改一下views文件:

Django在pycharm下的使用方法是什么

為了讓django知道我們的html文件在哪里,需要修改settings文件的相應內容。但默認情況下,它正好適用,你無需修改。

Django在pycharm下的使用方法是什么

接下來,我們可以重新啟動web服務。在瀏覽器刷新一下,你會看到帶有樣式的“hello world”。

注:這里有個小技巧,在多次頻繁重啟服務時,由于端口未釋放的原因,容易啟動不了服務,修改一下端口就OK了。

8. 使用靜態(tài)文件

我們已經可以將html文件返還給用戶了,但是還不夠,前端三大塊,html、css、js還有各種插件,它們齊全才是一個完整

的頁面。在django中,一般將靜態(tài)文件放在static目錄中。接下來,在mysite中新建個static目錄。

你的CSS,JS和各種插件都可以放置在這個目錄里。

為了讓django找到這個目錄,依然需要對settings進行配置:

Django在pycharm下的使用方法是什么

同樣,在index.html文件中,可以引入js文件了:

Django在pycharm下的使用方法是什么

重新啟動web服務,刷新瀏覽器,查看結果。

9. 接收用戶發(fā)送的數(shù)據(jù)

上面,我們將一個要素齊全的html文件返還給了用戶瀏覽器。但這還不夠,因為web服務器和用戶之間沒有動態(tài)交互。

下面我們設計一個表單,讓用戶輸入用戶名和密碼,提交給index這個url,服務器將接收到這些數(shù)據(jù)。

先修改index.html文件

Django在pycharm下的使用方法是什么

然后修改views.py文件

Django在pycharm下的使用方法是什么

此時 ,重啟web服務時,會出錯,因為django有一個跨站請求保護機制,我們在settings文件中將它關閉。

Django在pycharm下的使用方法是什么

再次進入瀏覽器,刷新頁面:

Django在pycharm下的使用方法是什么

輸入點東西,然后我們在pycharm中可以看到相應的數(shù)據(jù)。

10. 返回動態(tài)頁面

我們收到了用戶的數(shù)據(jù),但返回給用戶的依然是個靜態(tài)頁面,通常我們會根據(jù)用戶的數(shù)據(jù),進行處理后在返回給用戶。

這時候,django采用jinja2語言編寫動態(tài)模板,jinja2會根據(jù)提供的數(shù)據(jù),替換掉html中的相應部分,詳細語法入門后再深入學習。

先改造views.py文件:

Django在pycharm下的使用方法是什么

再改造index.html文件:

Django在pycharm下的使用方法是什么

重啟服務,刷新瀏覽器:

Django在pycharm下的使用方法是什么

可以看到,我們獲得了用戶實時輸入的數(shù)據(jù),并將它實時展示在了用戶頁面上,這是個不錯的交互過程。

11. 使用數(shù)據(jù)庫

流程走到這里,django的MTV框架基本已經浮出水面了,只剩下最后的數(shù)據(jù)庫部分了。

上面我們雖然和用戶交互得很好,但并沒有保存任何數(shù)據(jù),頁面一旦關閉,或服務器重啟,一切都將回到原始狀態(tài)。

使用數(shù)據(jù)庫是毫無疑問的,django通過自帶的ORM框架操作數(shù)據(jù)庫,并且自帶輕量級的sqlite3數(shù)據(jù)庫。下面我們來看一看:

首先是注冊app:

Django在pycharm下的使用方法是什么

不注冊它,你的數(shù)據(jù)庫就不知道該給哪個app創(chuàng)建表。

然后我們在settings中,配置數(shù)據(jù)庫相關的參數(shù),如果使用自帶的sqlite,不需要修改。

Django在pycharm下的使用方法是什么

 再編輯models.py文件,也就是MTV中的M。

Django在pycharm下的使用方法是什么

這里我們創(chuàng)建了2個字段,分別保存用戶的名字和密碼。

接下來要在pycharm的teminal中通過命令創(chuàng)建數(shù)據(jù)庫的表了。有2條命令,分別是:

python manage.py makemigrations

Django在pycharm下的使用方法是什么

再輸入命令:python manage.py migrate

Django在pycharm下的使用方法是什么

修改views.py中的業(yè)務邏輯

Django在pycharm下的使用方法是什么

重啟web服務后,刷新瀏覽器頁面,之后和用戶交互的數(shù)據(jù)都能保存到數(shù)據(jù)庫中。任何時候都可以從數(shù)據(jù)庫中讀取數(shù)據(jù),展示到頁面上。

至此,一個要素齊全,主體框架展示清晰的django項目完成了,其實很簡單是不是?

三、 Django總結

作為python必須web框架的Django,它的功能強大,內容全面,但同時也意味著限制頗多,靈活性低,可修改性差,這就是魚和熊掌不可兼得了。我們學習Django,其實就是學習一個軟件,要理解它的基本原理,把握它整體框架,牢記一些基本規(guī)則,剩下的就是不斷深入細節(jié),然后熟能生巧、經驗多少的問題了,不存在多高深的不可掌握技術。 

關于Django在pycharm下的使用方法是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

文章標題:Django在pycharm下的使用方法是什么
文章分享:http://jinyejixie.com/article34/gcespe.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供外貿網(wǎng)站建設搜索引擎優(yōu)化、域名注冊網(wǎng)站改版、品牌網(wǎng)站建設、微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網(wǎng)站建設
南昌县| 二手房| 板桥市| 江都市| 正定县| 肃北| 衢州市| 安塞县| 邹平县| 济南市| 河池市| 绥江县| 龙泉市| 郎溪县| 龙游县| 甘孜县| 高州市| 司法| 南宁市| 乐清市| 鹤峰县| 肃北| 乌拉特后旗| 长海县| 镶黄旗| 高州市| 民乐县| 奎屯市| 樟树市| 临澧县| 始兴县| 弋阳县| 澄城县| 武胜县| 巨鹿县| 武清区| 奇台县| 富宁县| 甘孜县| 武汉市| 莫力|