Django-01

1.Django簡介

????Django是一個開放源代碼的Web應(yīng)用框架,它最初是被開發(fā)來用于管理勞倫斯出版集團(tuán)旗下的一些以新聞內(nèi)容為主的網(wǎng)站的,即是CMS(內(nèi)容管理系統(tǒng))軟件柠偶。并于2005年7月在BSD許可證下發(fā)布与境。這套框架是以比利時的吉普賽爵士吉他手Django Reinhardt來命名的晾剖。

????重量級的框架,替開發(fā)者想了太多的事情,幫開發(fā)者做了很多的選擇,內(nèi)置了很多的功能

官方網(wǎng)站 http://www.djangoproject.com

2.?為什么選擇Django框架雁芙?

--->?源于真實(shí)的CMS系統(tǒng)的項(xiàng)目

--->?生態(tài)圈非常繁榮?

--->?大部分功能都有成熟的解決方案

3.?創(chuàng)建Django項(xiàng)目和實(shí)施版本控制

~?pip3?install?django==2.2.12?-i https://pypi.doubanio.com/simple

(這里選擇Django最新版本)

~?django-admin?--version

(查看版本)

~?django-admin?startproject?hellodjango(項(xiàng)目名字)

(創(chuàng)建Django項(xiàng)目)

4.?創(chuàng)建Django應(yīng)用

~?一個Django項(xiàng)目中可以包含一個或多個Django應(yīng)用

創(chuàng)建一個應(yīng)用 python manage.py startapp App/django-admin startapp App

App結(jié)構(gòu)

~__init__

~views 視圖函數(shù)

?????視圖函數(shù)種參數(shù)是request 方法的返回值類型是HttpResponse models 模型

~admin 后臺管理

~apps 應(yīng)用配置

~tests 單元測試

~migrations /__init__ 遷移目錄

5.?編寫視圖函數(shù)

~views.py?--->?視圖函數(shù)(接收來自瀏覽器的請求,給用戶以響應(yīng))

def?show_index(request:?HttpRequest):

? ? ? ?return?HttpResponse(content)

6.?配置URL

~?使用視圖函數(shù)需要配置URL映射(請求的路由)?--->urls.py

~?URL(統(tǒng)一資源定位符)?--->?視圖函數(shù)?--->?path函數(shù)

????path('hello/',?show_index),

7.?前端渲染

~前端渲染?--->?在瀏覽器中完成渲染操作

前端通過Ajax請求獲得后端提供的數(shù)據(jù)钞螟,通過JavaScript代碼用數(shù)據(jù)渲染頁面


8.后端渲染

~ 后端渲染?--->?在服務(wù)器端用Python程序完成

把前端提供的靜態(tài)頁改造成模板頁兔甘,把動態(tài)內(nèi)容換成占位符,通過Python程序把動態(tài)內(nèi)容填入模板頁

顯示在模板中

~先挖坑 {{ var }}

~ 再填坑

????????渲染模板的時候傳遞上下文進(jìn)來

????????上下文是一個字典

????????ontext={'key':'value'}

~模板的兼容性很強(qiáng)

????????不傳入不會報(bào)錯

????????多傳入也會自動優(yōu)化掉

~瀏覽器不認(rèn)模板

???????瀏覽器也叫做html解析器? ?只識別html文件????

????????在到達(dá)瀏覽器之前鳞滨,已經(jīng)進(jìn)行了轉(zhuǎn)換洞焙,將模板語言轉(zhuǎn)換成了HTML

~for 支持

???????{% for %}

~render底層實(shí)現(xiàn):應(yīng)用場景,發(fā)送郵件太援,郵件的內(nèi)容需要使用render方法來操縱

????加載

????????????three_index = loader.get_template('three.html')

????????????content={'xxx':'xxxx'}

????渲染

? ? ? ? ? ? ?result = three_index.render(content=content)

? ? ? ? ? ? ?return HttpResponse(result)

9.修改數(shù)據(jù)庫

在settings中的DATABASES中進(jìn)行修改

實(shí)際上都是關(guān)系型數(shù)據(jù)庫

????mysql

????????'ENGINE': 'django.db.backends.mysql',

? ? ? ? NAME(數(shù)據(jù)庫名字)

????????USER(用戶名字)

????????PASSWORD(密碼 )

????????HOST (主機(jī) )

????????PORT(端口號 )

? ? ? ? CHARSET(字符集)

10.DML

數(shù)據(jù)操作

? ? ?~遷移

????????生成遷移

????????????python manage.py makemigrations

????????執(zhí)行遷移

????????????python manage.py migrate

????????????才會真正在數(shù)據(jù)庫產(chǎn)生表

? ? ?~ORM

????????????Object Relational Mapping 對象關(guān)系映射

????????????將業(yè)務(wù)邏輯和sql進(jìn)行了一個解耦合

????????????通過models定義實(shí)現(xiàn)? 數(shù)據(jù)庫表的定義

? ? ?~模型定義

????????????(1)繼承models.Model

????????????(2)會自動添加主鍵列

????????????(3)必須指定字符串類型屬性的長度

????????????????????class Student(models.Model):

? ? ? ? ? ? ? ? ???????????? name = modes.CharField(max_length=16)

? ? ? ? ? ? ? ? ???????????? age = models.IntegerField(default=1)

? ? ?~存儲數(shù)據(jù)

????????????創(chuàng)建對象進(jìn)行save()

? ? ?~數(shù)據(jù)查詢

????????????模型.objects.all()

????????????模型.objects.get(pk=2)

? ? ?~更新

????????????基于查詢

????????????save()

? ? ?~刪除

????????????基于查詢

????????????delete()

10.Django shell

python manage.py shell

????????django 終端

????????????????python manager.py shell

????????集成了django環(huán)境的python 終端

????????通常用來調(diào)試

????????eg:

????????from Two.models import Student

????????students = Student.objects.all()

? ????????? ????for student in students:

? ? ? ? ? ????????? print(students.name)


11.?運(yùn)行Django項(xiàng)目

~?Django自帶的測試服務(wù)器

~?python manage.py?runserver

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末闽晦,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子提岔,更是在濱河造成了極大的恐慌,老刑警劉巖笋敞,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件碱蒙,死亡現(xiàn)場離奇詭異,居然都是意外死亡夯巷,警方通過查閱死者的電腦和手機(jī)赛惩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來趁餐,“玉大人喷兼,你說我怎么就攤上這事『罄祝” “怎么了季惯?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵吠各,是天一觀的道長。 經(jīng)常有香客問我勉抓,道長贾漏,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任藕筋,我火速辦了婚禮纵散,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘隐圾。我一直安慰自己伍掀,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布暇藏。 她就那樣靜靜地躺著蜜笤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪叨咖。 梳的紋絲不亂的頭發(fā)上瘩例,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天,我揣著相機(jī)與錄音甸各,去河邊找鬼垛贤。 笑死,一個胖子當(dāng)著我的面吹牛趣倾,可吹牛的內(nèi)容都是我干的聘惦。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼儒恋,長吁一口氣:“原來是場噩夢啊……” “哼善绎!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起诫尽,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤禀酱,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后牧嫉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體剂跟,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年酣藻,在試婚紗的時候發(fā)現(xiàn)自己被綠了曹洽。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡辽剧,死狀恐怖送淆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情怕轿,我是刑警寧澤偷崩,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布辟拷,位于F島的核電站,受9級特大地震影響环凿,放射性物質(zhì)發(fā)生泄漏梧兼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一智听、第九天 我趴在偏房一處隱蔽的房頂上張望羽杰。 院中可真熱鬧,春花似錦到推、人聲如沸考赛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽颜骤。三九已至,卻和暖如春捣卤,著一層夾襖步出監(jiān)牢的瞬間忍抽,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工董朝, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鸠项,地道東北人。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓子姜,卻偏偏與公主長得像祟绊,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子哥捕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評論 2 354