Django框架的應(yīng)用-ubuntu使用方法-前篇

在使用Djiango框架前我們需要用虛擬環(huán)境來應(yīng)用(虛擬環(huán)境的安裝我就不寫了百度都能找到)粘秆,在創(chuàng)建的虛擬環(huán)境中安裝Django和mysql(我用的是mysql的數(shù)據(jù)庫)

創(chuàng)建一個(gè)名字為 h1的虛擬環(huán)境

mkvirtualenv h1


這樣就代表創(chuàng)建好了

下載Django和mysql

建議安裝1.8.2版本咸灿,這是一個(gè)穩(wěn)定性高迁筛、使用廣襟雷、文檔多的版本?pip install django==1.8.2

?mysql 安裝 pip install mysql

創(chuàng)建一個(gè)項(xiàng)目

這樣代表項(xiàng)目創(chuàng)建成功

進(jìn)入test1目錄岳瞭,目錄結(jié)構(gòu)如下圖:


manage,py :一個(gè)命令工具,可以使你用多種方式對(duì)Django項(xiàng)目進(jìn)行交互

test1下面的內(nèi)層目錄:項(xiàng)目的真正的python包

_init.py:一個(gè)空文件候齿,他告訴python這個(gè)目錄被看作一個(gè)python包

.setting:項(xiàng)目的配置

.urls.py:項(xiàng)目的URL聲明

wsgi.py:項(xiàng)目與WSGI兼容的Web服務(wù)器入口

開啟服務(wù)器 python manage.py runserver


鼠標(biāo)右鍵選擇打開鏈接127.0.0.1你就會(huì)看到這樣的頁面

可以通過ctrl+c來停止服務(wù)器

設(shè)計(jì)介紹

本示例完成“圖書-英雄”信息的維護(hù)熙暴,需要存儲(chǔ)兩種數(shù)據(jù):圖書、英雄

圖書表結(jié)構(gòu)設(shè)計(jì):

表名:BookInfo

圖書名稱:btitle

圖書發(fā)布時(shí)間:bpub_date

英雄表結(jié)構(gòu)設(shè)計(jì):

表名:HeroInfo

英雄姓名:hname

英雄性別:hgender

英雄簡(jiǎn)介:hcontent

所屬圖書:hbook

圖書-英雄的關(guān)系為一對(duì)多

創(chuàng)建一個(gè)應(yīng)用booktest

python manage.py startapp booktest


進(jìn)入到test1里面的setting文件將項(xiàng)目添加到DATABASE_APP里面我用的是vim編輯器

將DATABASES改成mysql數(shù)據(jù)庫 Django默認(rèn)是sqlite數(shù)據(jù)庫


改為

DATABASES = {

?? ?'default': {

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

?? ??? ?'NAME': 'test2',

?? ??? ?'USER': '用戶名',

?? ??? ?'PASSWORD': '密碼',

?? ??? ?'HOST': '數(shù)據(jù)庫服務(wù)器ip慌盯,本地可以使用localhost',

?? ??? ?'PORT': '端口周霉,默認(rèn)為3306',

?? ?}

}

注意:需要在我們得站點(diǎn)得init文件?

import pymysql

pymysql.install_as_MySQLdb()

注意執(zhí)行這行代碼需要安裝pymysql這個(gè)包

進(jìn)入booktest這個(gè)應(yīng)用文件并進(jìn)入models.py

在models.py里面輸入

from django.db import models來導(dǎo)入模塊


類名等于你數(shù)據(jù)庫里面的表名

類下面的變量名等與你的字段名

models.*是你的數(shù)據(jù)類型 因?yàn)槲覀冋{(diào)了django模塊所以我們用點(diǎn)語法來使用這個(gè)模塊

字段類型

AutoField:一個(gè)根據(jù)實(shí)際ID自動(dòng)增長(zhǎng)的IntegerField,通常不指定

如果不指定亚皂,一個(gè)主鍵字段將自動(dòng)添加到模型中

BooleanField:true/false 字段俱箱,此字段的默認(rèn)表單控制是CheckboxInput

NullBooleanField:支持null、true灭必、false三種值?

CharField(max_length=字符長(zhǎng)度):字符串狞谱,默認(rèn)的表單樣式是 TextInput

TextField:大文本字段乃摹,一般超過4000使用,默認(rèn)的表單控件是Textarea

IntegerField:整數(shù)? ?

DecimalField(max_digits=None, decimal_places=None):使用python的Decimal實(shí)例表示的十進(jìn)制浮點(diǎn)數(shù)

DecimalField.max_digits:位數(shù)總數(shù)

DecimalField.decimal_places:小數(shù)點(diǎn)后的數(shù)字位數(shù)

FloatField:用Python的float實(shí)例來表示的浮點(diǎn)數(shù)

DateField([auto_now=False, auto_now_add=False]):使用Python的datetime.date實(shí)例表示的日期

參數(shù)DateField.auto_now:每次保存對(duì)象時(shí)跟衅,自動(dòng)設(shè)置該字段為當(dāng)前時(shí)間孵睬,用于"最后一次修改"的時(shí)間戳,它總是使用當(dāng)前日期伶跷,默認(rèn)為false

參數(shù)DateField.auto_now_add:當(dāng)對(duì)象第一次被創(chuàng)建時(shí)自動(dòng)設(shè)置當(dāng)前時(shí)間掰读,用于創(chuàng)建的時(shí)間戳,它總是使用當(dāng)前日期叭莫,默認(rèn)為false

該字段默認(rèn)對(duì)應(yīng)的表單控件是一個(gè)TextInput. 在管理員站點(diǎn)添加了一個(gè)JavaScript寫的日歷控件蹈集,和一個(gè)“Today"的快捷按鈕,包含了一個(gè)額外的invalid_date錯(cuò)誤消息鍵

auto_now_add, auto_now, and default 這些設(shè)置是相互排斥的食寡,他們之間的任何組合將會(huì)發(fā)生錯(cuò)誤的結(jié)果

TimeField:使用Python的datetime.time實(shí)例表示的時(shí)間雾狈,參數(shù)同DateField

DateTimeField:使用Python的datetime.datetime實(shí)例表示的日期和時(shí)間,參數(shù)同DateField

FileField:一個(gè)上傳文件的字段

ImageField:繼承了FileField的所有屬性和方法抵皱,但對(duì)上傳的對(duì)象進(jìn)行校驗(yàn)善榛,確保它是個(gè)有效的image

在項(xiàng)目和應(yīng)用同級(jí)目錄下輸入

來遷移文件

在用python manage.py migrate

來執(zhí)行遷移

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市呻畸,隨后出現(xiàn)的幾起案子移盆,更是在濱河造成了極大的恐慌,老刑警劉巖伤为,帶你破解...
    沈念sama閱讀 212,816評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件咒循,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡绞愚,警方通過查閱死者的電腦和手機(jī)叙甸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來位衩,“玉大人裆蒸,你說我怎么就攤上這事√锹浚” “怎么了僚祷?”我有些...
    開封第一講書人閱讀 158,300評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)贮缕。 經(jīng)常有香客問我辙谜,道長(zhǎng),這世上最難降的妖魔是什么感昼? 我笑而不...
    開封第一講書人閱讀 56,780評(píng)論 1 285
  • 正文 為了忘掉前任装哆,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘烂琴。我一直安慰自己爹殊,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評(píng)論 6 385
  • 文/花漫 我一把揭開白布奸绷。 她就那樣靜靜地躺著梗夸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪号醉。 梳的紋絲不亂的頭發(fā)上反症,一...
    開封第一講書人閱讀 50,084評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音畔派,去河邊找鬼铅碍。 笑死,一個(gè)胖子當(dāng)著我的面吹牛线椰,可吹牛的內(nèi)容都是我干的胞谈。 我是一名探鬼主播,決...
    沈念sama閱讀 39,151評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼憨愉,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼烦绳!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起配紫,我...
    開封第一講書人閱讀 37,912評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤径密,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后躺孝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體享扔,經(jīng)...
    沈念sama閱讀 44,355評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評(píng)論 2 327
  • 正文 我和宋清朗相戀三年植袍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了惧眠。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,809評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡于个,死狀恐怖锉试,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情览濒,我是刑警寧澤,帶...
    沈念sama閱讀 34,504評(píng)論 4 334
  • 正文 年R本政府宣布拖云,位于F島的核電站贷笛,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏宙项。R本人自食惡果不足惜乏苦,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧汇荐,春花似錦洞就、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至革娄,卻和暖如春倾贰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背拦惋。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工匆浙, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人厕妖。 一個(gè)月前我還...
    沈念sama閱讀 46,628評(píng)論 2 362
  • 正文 我出身青樓首尼,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親言秸。 傳聞我的和親對(duì)象是個(gè)殘疾皇子软能,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評(píng)論 2 351

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