django簡記02

Django的來歷:python開發的!

long long long years ago!勞倫斯出版集團新聞

網絡渲染發布自己的新聞——> 需要有自己的網站-> 處理效率較高的網站

鑒于當時該公司程序員,python開發的!

降低開發成本[優先選擇自己公司已有程序員的開發能力!]

python-> web開發-> 代碼的復雜度較高,技術難度較低!

封裝python開發web網站的大部分的應用模塊-> Django

網站的開發過程中,使用、升級、完善、封裝->迭代升級-> 完善的一個操作模塊

2005年開源發布[開發源代碼],共享!讓所有的技術愛好者,可以共同開發維護!

開源~滿足開源協議

2007年社區發布了第一個正式版本1.0,發布之后,由于Django開發web網站的極度的高效性,很快流行起來!

2010年,Python稱為TOIBE年度語言,但是沒有流行的契機!

2016年,python跟隨著Goole的AlphaGO和對應的人工智能,再度崛起!

2017年,python稱為人工智能的首選語言!

python第一次被國家機構認可,成為了教科書語言!

1-1 Django的優勢

Django是python語言編寫的,專門用于快速、高效的開發web應用程序的一個框架!

|

框架:模塊的集合,除了具備模塊所有的功能之外,同時會提供一些簡單的功能處理流程,方便開發人員對于指定流程的自動化處理!同時框架會根據不同的功能流程有自己的一些特定的軟件結構模式,所以框架在某種程度上也是一種獨立的軟件!

模塊:類似于pymysql/pygame,模塊是python中代碼塊的集合,一般會包含多個變量、函數、類型等

|

Django由于其非常有特點的特性,很快流行于web開發領域

l 先進的MVT處理模式

l 自動化的項目構建管理方式

l 完善的數據模型處理

l 強大的后臺管理系統

l 優秀的ORM操作模塊

l 優雅的模板操作封裝

l 優異的緩存支持

l 完美的表單操作封裝

l 內建Sqlite數據庫,和其他各種類型數據庫的支持

l more……

1-2 Django框架中MVT處理模式

關于web軟件的架構模式

傳統的web軟件處理模式:MVC處理模式

Django進行了封裝和升級的處理模式:MVT處理模式

關于軟件和業務功能的架構模式

B/S C/S 軟件架構模型

B2B C2C B2C 業務架構模型

1-3 Django快速入門

l 安裝Django

Django是一個框架,是一個用來快速開發web應用程序的框架

Django框架的安裝方式

所有版本:Django1.0->Django2.0.x

最新的版本:Django2.0.x版本:主要用來進行學習和測試

流行的版本:Django1.8~1.11版本,也是公司常用的版本

Django的安裝

pip install django -> 默認安裝了最新的穩定版本 2.0

pip install django==1.11 ->指定版本安裝

安裝過程中出現了關鍵字Permission的錯誤,表示權限不夠,通過管理員權限運行命令行再次執行命令,就可以安裝成功!

l 項目搭建

a. 創建項目

使用Django創建一個web項目:項目自動化創建構造

django-admin startproject 項目名稱

|-- myproject/ 項目的主目錄,存放項目中所有文件的文件夾

|-- myproject/ 項目的主項目/根項目,用來管理所有的項目

|-- init.py 包定義文件,定義了存放這個文件的文件夾是一個python包

|-- settings.py 項目中所有的配置信息存放的模塊,配置模塊

|-- urls.py 路由模塊,定義url地址和訪問的處理函數之間的映射關系

|-- wsgi.py 實現了wsgi網關協議的模塊,表示Django項目支持wsgi網關協議

|-- manager.py 項目的命令行支持模塊,可以在命令行執行不同的命令實現不同的功能

b. 運行測試

啟動項目,在瀏覽器中訪問項目是否創建成功

在命令行中,進入項目主目錄,執行下面的命令

python manage.py runserver

執行完上述命令之后,在瀏覽器中訪問:http://localhost:8000查看訪問到的頁面

c. 創建第一個根項目的視圖

首先在根項目下,創建一個模塊:views.py

在view.py中,創建一個函數,返回一個數據[函數:視圖處理函數]

d. 配置路由應用

打開myproject/urls.py路由模塊

添加一個新的路由映射地址

e. 運行程序

l 創建第一個模塊應用

a. 創建一個模塊應用

在項目主目錄中執行命令[app : application]

django-admin startapp 模塊名稱[二級網站]

|-- myblog/ 模塊的根目錄;二級網站的根目錄

|-- migrations/ 數據庫文件存放的文件夾[數據庫部分細講]

|-- init.py 包定義文件

|-- admin.py 后臺管理文件[后臺管理系統細講]

|-- apps.py 模塊名稱定義文件

|-- models.py 數據模型定義文件

|-- test.py 測試文件——一般用不上

|-- views.py 視圖模塊,定義視圖處理函數

b. 將模塊應用,添加到根項目中

修改myproject/settings.py配置文件

INSTALLED_APP選項列表中,添加myblog

c. 編寫模塊的視圖處理函數

修改views.py文件,添加一個博客首頁的視圖處理函數

d. 配置模塊的路由映射

myblog模塊中創建一個路由模塊urls.py

e. 將模塊中的路由,添加到根項目的路由中

根項目的路由:主路由

模塊中的路由:子路由

|

小總結:

1. 創建Django****項目:公司門戶項目

**django-admin startproject myproject **

創建了一個名稱為myproject****的項目

2. 配置語言環境

打開創建的項目配置文件myproject/myproject/settings.py

修改配置選項如下:

# LANGUAGE_CODE = ‘en_us****’ 注釋掉

LANGUAGE_CODE = ‘zh_Hans’ 添加

3. 定義門戶首頁的視圖

在myproject/myproject/****文件夾下,創建一個views.py****視圖模塊

編輯函數如下:

# 引入模塊

from django.http import HttpResponse

# 定義處理函數

def index(request):

return HttpResponse(“****公司首頁”)

4. 配置主路由

打開myproject/myproject/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’),

]

5. 運行項目,測試主項目是否能訪問成功

cd myproject/ 進入項目主目錄 【切記不要進入根項目】

python manage.py runserver 運行程序

打開瀏覽器,訪問http://localhost:8000就可以查看到 公司首頁 的視圖

|
|

6. 創建一個模塊應用——公司博客

進入主目錄,執行命令創建博客模塊

cd myproject/ 進入項目主目錄 【切記不要進入根項目】

django-admin startapp myblog

7. 將模塊項目添加到根項目中

修改myproject/myproject/settings.py****配置文件

INSTALLED_APPS****配置選項的列表中,在末尾添加上模塊名稱

INSTALLED_APPS = [

..

‘myblog’,

]

8. 配置模塊子路由文件

在myproject/myblog/****文件夾下,常見一個路由配置文件urls.py****【子路由】

編輯內容如下

from django.conf.urls import url

from . import views

urlpatterns = [

** url(r‘^$’, views.index, name=”index”),**

]

9. 將子路由,添加到根項目的主路由中

修改根項目主路由文件myproject/myproject/urls.py****,編輯內容如下:

from django.conf.urls import url, include

from django.contrib import admin

from . import views

urlpatterns = [

url(r‘^admin/’, admin.site.urls),

url(r‘^myblog/’, include(‘myblog.urls’)),

url(r’^$’, views.index, name=’index’),

]

10. 運行測試

在中目錄中,執行命令啟動服務器

python manage.py runserver

打開瀏覽器,訪問項目:公司首頁

http://localhost:8000

打開瀏覽器,訪問模塊:公司博客首頁

http://localhost:8000/myblog/

|
|

任務:梳理總結 [****百度]

Django****框架的描述

MVC****處理模式描述

MVT****處理模式的描述

B/S C/S****軟件結構的描述

B2B C2C B2C****業務結構的描述

簡單搭建項目測試:

了解Django****項目和模塊項目的創建以及使用過程[]

模擬上午的內容,自行搭建Django****項目——

|
|

預留1個小時

沒有完成的學員——完成梳理總結和第一個版本的項目開發

初步完成的學員——按照有條理的方式,將文檔進行二次整理,發布到簡書上!

|

Django web項目開發以及處理流程

  1. Django項目的請求處理流程

創建項目:django-admin startproject mysite

項目中的各個文件夾:

|-- mysite/ 項目的主目錄[包含了項目中所有的文件信息]

|-- mysite/ 項目的根項目、主項目[管理所有的模塊項目]

|-- init.py 包(package)聲明文件

|-- settings.py 項目配置信息[項目中所有開關性質的變量-LANGUAGE_CODE]

|-- urls.py 項目的主路由配置文件[路由:映射url地址和調用處理函數]

|-- wsgi.py Django項目實現Wsgi網關協議的模塊

|-- manage.py 命令模塊,支持django可以通過命令操作項目中的指定功能

定義視圖處理函數:views.py模塊中定義

定義一個普通函數,可以在路由模塊中綁定給指定的url地址;通過Url地址的方式調用這個普通函數[可以通過url地址調用執行的普通函數:視圖處理函數]

視圖處理函數中的返回值:HttpResponse

Http:超文本傳輸協議

Response:響應數據

HttpResponse:支持超文本數據傳輸的一個響應對象

路由配置:將視圖處理函數,綁定到指定的url地址上

可以通過瀏覽器中訪問url地址,調用執行指定的views.py模塊中的視圖處理函數

根項目中的路由配置,[根項目中的路由:主路由]通過mysite/mysite/urls.py模塊

啟動項目,直接通過瀏覽器進行訪問測試

注意:代碼開發過程中,開發完一個完整的小流程,就需要運行測試這個小流程是否正確;千萬切記不要等到所有功能一次性寫完再運行測試此時如果出現大量報錯!就需要非常有經驗的老司機才能準確判斷出錯位置和排查錯誤!

創建子項目/模塊項目

django-admin startapp blog

項目整體文件結構

|-- mysite / 項目主目錄

|-- mysite/ 根項目

|-- init.py

|-- settings.py

|-- urls.py

|-- views.py

|-- wsgi.py

|-- blog/ 子項目

|-- init.py

|-- admin.py 后臺管理相關[后臺管理部分詳細說明]

|-- app.py 項目描述文件[子項目名稱]

|-- models.py 子項目中數據模型的定義[****明天詳細講]

|-- views.py 子項目中的視圖函數處理模塊

|-- urls.py 子項目中的路由模塊[子路由]

|-- test.py 測試模塊[以后擴展]

|-- manager.py

定義子項目視圖模塊——定義子項目中的首頁視圖處理函數

mysite/blog/views.py

定義子路由操作——配置子項目中的路由模塊

本身該文件在創建項目時是不存在的,需要手工創建

mysite/blog/urls.py

子路由和主路由的關系

訪問關系,用戶在瀏覽器客戶端發起的請求地址,首先會進入主路由進行查詢,查詢不到匹配的地址,就會進入對應的子路由進行查詢,知道查詢匹配成功返回指定視圖函數執行的結果!如果查詢不到,就會返回404錯誤頁面[資源沒有找到]

簡短總結:

Django入門部分

l web****應用程序開發步驟

n 創建主項目

n 定義根項目中的視圖處理函數

n 配置根項目中的路由模塊[主路由]

n 創建子項目(子項目——>添加到根項目管理中-> settgins.py-INSTALLED_APPS)

n 定義子項目中的視圖處理函數

n 配置子項目中的路由模塊[子路由]

n 配置子路由和主路由之間的關聯關系

l 引入的各種包

n 視圖模塊:from django.http import HttpResponse

n 路由模塊:from django.conf.urls import url, include

u from . import views

晚自習項目任務:搜狐門戶開發

提示如下:

根項目django-admin startproject sohu

子項目django-admin startapp sohu_email

django-admin startapp sohu_blog

django-admin startapp sohu_news

django-admin startapp sohu_tv

..

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,119評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,382評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,038評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,853評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,616評論 6 408
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,112評論 1 323
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,192評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,355評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,869評論 1 334
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,727評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,928評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,467評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,165評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,570評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,813評論 1 282
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,585評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,892評論 2 372

推薦閱讀更多精彩內容