python django基礎(chǔ)(一)

Django簡(jiǎn)介:

Django是一個(gè)開放源代碼的Web應(yīng)用框架蠢熄,由Python寫成。采用了MVC的框架模式叉讥,即模型M图仓,視圖V和控制器C透绩。不過在Django實(shí)際使用中壁熄,Django更關(guān)注的是模型(Model)、模板(Template)和視圖(Views)狸臣,稱為 MTV模式烛亦。Django的主要目的是簡(jiǎn)便煤禽、快速的開發(fā)數(shù)據(jù)庫驅(qū)動(dòng)的網(wǎng)站岖赋,它強(qiáng)調(diào)代碼復(fù)用,多個(gè)組件可以很方便的以“插件”形式服務(wù)于整個(gè)框架唐断,Django有許多功能強(qiáng)大的第三方插件。

django是對(duì)象關(guān)系映射的 (ORM,object-relational mapping):以Python類形式定義你的數(shù)據(jù)模型恳啥,ORM將模型與關(guān)系數(shù)據(jù)庫連接起來钝的,你可以通過簡(jiǎn)單的API操作數(shù)據(jù)庫,同時(shí)你也可以在Django中使用原始的SQL語句沮峡。Django可以運(yùn)行在Apache上邢疙,也可以運(yùn)行在支持WSGI望薄,F(xiàn)astCGI的服務(wù)器上痕支。支持多種數(shù)據(jù)庫,已經(jīng)支持Postgresql,MySql, Sqlite3,Oracle另绩。

  • django安裝
pip install Django
  • 驗(yàn)證django安裝
import django
django.get_version()
  • 創(chuàng)建一個(gè)django工程
django-admin.py startproject mysite

此時(shí)會(huì)自動(dòng)生成一些目錄和文件:
最外層的manage.py笋籽,像是一個(gè)運(yùn)行的入口车海,通過命令行的調(diào)用可以完成一些常用的功能侍芝,比如:

  • 運(yùn)行django的自帶服務(wù)器:
python manage.py runserver http://127.0.0.1:8080
  • 常用的同步或創(chuàng)建數(shù)據(jù)庫表:
python manage.py syncdb
  • 創(chuàng)建django project里面的子項(xiàng)目:
python manage.py startapp polls
  • 創(chuàng)建超級(jí)管理員:
python manage.py createsuperuser

另外還有setttings.py文件州叠,是django的配置文件凶赁。
urls.py文件哟冬,是django用于匹配url的文件,哪個(gè)網(wǎng)址執(zhí)行哪些后臺(tái)代碼(view)是在這里定義的。

Django MTV模式之----modle模型

Django采用了orm模式(對(duì)象關(guān)系映射)翰灾,django的模型根據(jù)數(shù)據(jù)庫表的內(nèi)容定義了一個(gè)python類,這個(gè)類里面的成員和每一個(gè)數(shù)據(jù)庫表里的字段一一對(duì)應(yīng)平斩。類里面的成員類型也和數(shù)據(jù)庫表里的字段類型也是對(duì)應(yīng)的咽块。這樣每個(gè)類實(shí)例就代表了數(shù)據(jù)庫里面的一條數(shù)據(jù)侈沪。模型主要是和數(shù)據(jù)相關(guān)的,和數(shù)據(jù)庫處理有緊密的聯(lián)系瘦馍。

例子(在models.py里定義模型):

from django.db import models

class File(models.Model):
    path= models.CharField(max_length=200)
    time= models.DateTimeField('date published')
    result= models.CharField(max_length=200)

class Choice(models.Model):
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)

django設(shè)置數(shù)據(jù)庫:

settings.py文件里面的database可以定義你要使用的數(shù)據(jù)庫類型:

  • 定義數(shù)據(jù)庫為sqlite
'ENGINE': 'django.db.backends.sqlite3' 
  • 定義數(shù)據(jù)庫為mysql
'ENGINE': 'django.db.backends.mysql'

執(zhí)行django-admin.py startproject mysite, 然后再運(yùn)行python manage.py runserver http://127.0.0.1:8080就算搭建了一個(gè)簡(jiǎn)單的django web服務(wù)器情组,可訪問http://127.0.0.1:8080 測(cè)試院崇。另外在install_apps里面激活polls(在后面添加應(yīng)用名字)亚脆,執(zhí)行pyhton manage.py syncdb濒持,此時(shí)會(huì)根據(jù)定義的模型創(chuàng)建相應(yīng)的數(shù)據(jù)庫寺滚。

數(shù)據(jù)庫操作例子:

  • 獲取所有數(shù)據(jù):
all_filelist = File.objects.all()
  • 獲取所有數(shù)據(jù)并按某個(gè)字段排序:
all_filelist = File.objects.all().order_by('-id')
  • 執(zhí)行sql語句:
cursor = connection村视。cursor()
cursor.extcute("select * from info_path")
chaannels = cursor.fetchall()
  • 過濾數(shù)據(jù):
list=File.objects.all().filter(result=true)
  • 根據(jù)主鍵查詢
list=File.objects.all().get(id=1)
  • 時(shí)間過濾:
results = File.objects.all().filter(time__range=(dayfrom, dayto))
  • 創(chuàng)建新數(shù)據(jù):
file = File(time=time,path=path,result=result)
file.save()
  • 獲取數(shù)據(jù):
file.time
file.path
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末奶赔,一起剝皮案震驚了整個(gè)濱河市站刑,隨后出現(xiàn)的幾起案子鼻百,更是在濱河造成了極大的恐慌摆尝,老刑警劉巖堕汞,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件讯检,死亡現(xiàn)場(chǎng)離奇詭異人灼,居然都是意外死亡挡毅,警方通過查閱死者的電腦和手機(jī)暴构,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門耗绿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來砾隅,“玉大人,你說我怎么就攤上這事究反【停” “怎么了琅锻?”我有些...
    開封第一講書人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵惊完,是天一觀的道長(zhǎng)处硬。 經(jīng)常有香客問我,道長(zhǎng)本股,這世上最難降的妖魔是什么桐腌? 我笑而不...
    開封第一講書人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮躬审,結(jié)果婚禮上承边,老公的妹妹穿的比我還像新娘石挂。我一直安慰自己,他們只是感情好痹愚,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開白布窖式。 她就那樣靜靜地躺著动壤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪琼懊。 梳的紋絲不亂的頭發(fā)上哼丈,一...
    開封第一講書人閱讀 49,730評(píng)論 1 289
  • 那天削祈,我揣著相機(jī)與錄音,去河邊找鬼髓抑。 笑死吨拍,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的伊滋。 我是一名探鬼主播,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼昼浦,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼关噪!你這毒婦竟也來了乌妙?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤虐沥,失蹤者是張志新(化名)和其女友劉穎欲险,沒想到半個(gè)月后悉盆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體焕盟,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了来农。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖繁莹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情咨演,我是刑警寧澤,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布拍嵌,位于F島的核電站循诉,受9級(jí)特大地震影響打洼,放射性物質(zhì)發(fā)生泄漏逆粹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一阿浓、第九天 我趴在偏房一處隱蔽的房頂上張望蹋绽。 院中可真熱鬧,春花似錦退敦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽例证。三九已至迷捧,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間笙蒙,已是汗流浹背手趣。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留朝群,地道東北人姜胖。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓右莱,卻偏偏與公主長(zhǎng)得像档插,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子晨抡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容