a.使用mysql資料庫首先需要安裝驅動程式
pip install pymysql
b.在django的工程同名子目錄的__init__.py檔案中新增如下語句
import pymysql
pymysql.install_as_mysqldb(
)
作用是讓django的orm能以mysqldb的方式來呼叫pymysql。
c.修改databases配置資訊
databases =
}
d.在models.py 檔案中定義模型類
屬性=models.欄位型別(選項)
型別 autofield :自動增長的integerfield,通常不用指定,不指定時django會自動建立屬性名為id的自動增長屬性
booleanfield :布林字段,值為true或false
nullbooleanfield :支援null、true、false三種值
charfield :字串,引數max_length表示最大字元個數
textfield :大文字字段,一般超過4000個字元時使用
integerfield :整數
decimalfield :十進位制浮點數, 引數max_digits表示總位數, 引數decimal_places表示小數字數
floatfield :浮點數
datefield :日期, 引數auto_now表示每次儲存物件時,自動設定該字段為當前時間,用於"最後一次修改"的時間戳,它總是使用當前日期,預設為false; 引數auto_now_add表示當物件第一次被建立時自動設定當前時間,用於建立的時間戳,它總是使用當前日期,預設為false; 引數auto_now_add和auto_now是相互排斥的,組合將會發生錯誤
timefield :時間,引數同datefield
datetimefield :日期時間,引數同datefield
filefield :上傳檔案字段
imagefield :繼承於filefield,對上傳的內容進行校驗,確保是有效的
選項 null :如果為true,表示允許為空,預設值是false
blank :如果為true,則該字段允許為空白,預設值是false
db_column :欄位的名稱,如果未指定,則使用屬性的名稱
db_index :若值為true, 則在表中會為此字段建立索引,預設值是false
default :預設
primary_key :若為true,則該字段會成為模型的主鍵字段,預設值是false,一般作為autofield的選項使用
unique :如果為true, 這個欄位在表中必須有唯一值,預設值是false
外來鍵:在設定外來鍵時,需要通過on_delete選項指明主表刪除資料時,對於外來鍵引用表資料如何處理,在django.db.models中包含了可選常量:
cascade:級聯,刪除主表資料時連通一起刪除外來鍵表中資料
protect:保護,通過丟擲protectederror異常,來阻止刪除主表中被外來鍵應用的資料
set_null:設定為null,僅在該字段null=true允許為null時可用
set_default:設定為預設值,僅在該字段設定了預設值時可用
set():設定為特定值或者呼叫特定方法
do_nothing:不做任何操作,如果資料庫前置指明級聯性,此選項會丟擲integrityerror異常
例:
from django.db import models
class
bookinfo
(models.model)
:# 建立字段,字段型別...
name = models.charfield(max_length=
20, verbose_name=
'名稱'
) pub_date = models.datefield(verbose_name=
'發布日期'
, null=
true
) readcount = models.integerfield(default=
0, verbose_name=
'閱讀量'
) commentcount = models.integerfield(default=
0, verbose_name=
) is_delete = models.booleanfield(default=
false
, verbose_name=
'邏輯刪除'
)class
meta
: db_table =
'bookinfo'
# 指明資料庫表名
verbose_name =
'圖書'
# 在admin站點中顯示的名稱
def__str__
(self)
:"""定義每個資料物件的顯示資訊"""
return self.name
class
peopleinfo
(models.model)
: gender_choices =((
0,'male'),
(1,'female'))
name = models.charfield(max_length=
20, verbose_name=
'名稱'
) gender = models.smallintegerfield(choices=gender_choices, default=
0, verbose_name=
'性別'
) description = models.charfield(max_length=
200, null=
true
, verbose_name=
'描述資訊'
) book = models.foreignkey(bookinfo, on_delete=models.cascade, verbose_name=
'圖書'
)# 外來鍵
is_delete = models.booleanfield(default=
false
, verbose_name=
'邏輯刪除'
)class
meta
: db_table =
'peopleinfo'
verbose_name =
'人物資訊'
def__str__
(self)
:return self.name
e.生成遷移檔案
python manage.py makemigrations
f.同步到資料庫中
python manage.py migrate
g.匯入兩個模型類,資料庫操作
例:增加
from book.models import bookinfo,peopleinfo
peopleinfo.objects.create(
name=
'itheima'
, book=book
)
python之路 搭建django框架
1 在yaolansvr 192.168.0.3上安裝python 3.4.3.tar.xz 使用xmanager5的xftp5將檔案上傳到ftp目錄 2 安裝原始碼的python 注意 1 ignoring ensurepip failure pip 6.0.8 requires ssl tls ...
python開發 Django框架使用
django框架是由python開發的免費的開源 框架,可用於快速搭建高效能,優雅的 首先需要的就是python環境可以選擇python2.7版本或者python3版本,目前我本機安裝的是python3,雖然網上評價不是很好,但是,我還是毅然決然的學則python3。然後就是django版本的選擇了...
Python開發 Django框架簡介
django 是乙個由 python 編寫的乙個開放源 的 web 應用框架。使用 django,只要很少的 python 的程式開發人員就可以輕鬆地完成乙個正式 所需要的大部分內容,並進一步開發出全功能的 web 服務 django 本身基於 mvc 模型,即 model 模型 view 檢視 c...