Django開發(fā)流程
步驟1:創(chuàng)建虛擬機(jī)環(huán)境?mkvirtualenv?+?虛擬環(huán)境的名字
步驟2:配置django開發(fā)環(huán)境:
1灵寺、django==1.8.2??pip?install?django==1.8.2
2曼库、pymysql??pip?install?pymysql
步驟3:創(chuàng)建項(xiàng)目?django-admin?startproject?+項(xiàng)目名稱
步驟4:創(chuàng)建應(yīng)用?python
manage.py
步驟1:創(chuàng)建虛擬機(jī)環(huán)境 mkvirtualenv + 虛擬環(huán)境的名字
步驟2:配置django開發(fā)環(huán)境:
1、django==1.8.2??
2略板、pymysql
步驟3:創(chuàng)建項(xiàng)目 django-admin startproject +項(xiàng)目名稱
步驟4:創(chuàng)建應(yīng)用 python manage.py startapp +應(yīng)用名稱
步驟5:打開項(xiàng)目 兩種方案:
1毁枯、命令行 charm+項(xiàng)目名稱
2、IDE 里面的open選項(xiàng)
步驟6:在項(xiàng)目的setting設(shè)置里面有一個(gè)INSTALLED_APPS把我們的應(yīng)用添加進(jìn)去
步驟7:配置數(shù)據(jù)庫(MySQL)
步驟8:設(shè)置模型之后我們需要有兩個(gè)步驟:
1叮称、生成遷移文件 python manage.py makemigrations
2种玛、執(zhí)行遷移(遷移生成表)python manage.py migrate
pymysql 是Python2Python3通用
`mysqldb Python3是不能夠用`
mysqlclient
1、ORM是“對象-關(guān)系-映射”的簡稱瓤檐,主要任務(wù)是:
根據(jù)對象的類型生成表結(jié)構(gòu)
將對象赂韵、列表的操作,轉(zhuǎn)換為sql語句
將sql查詢到的結(jié)果轉(zhuǎn)換為對象挠蛉、列表
2祭示、字段類型:
AutoField:一個(gè)根據(jù)實(shí)際ID自動(dòng)增長的IntegerField,通常不指定
如果不指定谴古,一個(gè)主鍵字段將自動(dòng)添加到模型中
BooleanField:true/false 字段质涛,此字段的默認(rèn)表單控制是CheckboxInput
NullBooleanField:支持null、true讥电、false三種值
CharField(max_length=字符長度):字符串蹂窖,默認(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:每次保存對象時(shí)瞬测,自動(dòng)設(shè)置該字段為當(dāng)前時(shí)間,用于"最后一次修改"的時(shí)間戳纠炮,它總是使用當(dāng)前日期月趟,默認(rèn)為false
參數(shù)DateField.auto_now_add:當(dāng)對象第一次被創(chuàng)建時(shí)自動(dòng)設(shè)置當(dāng)前時(shí)間,用于創(chuàng)建的時(shí)間戳恢口,它總是使用當(dāng)前日期孝宗,默認(rèn)為false
該字段默認(rèn)對應(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的所有屬性和方法婚被,但對上傳的對象進(jìn)行校驗(yàn),確保它是個(gè)有效的image