按照官網(wǎng)的指示菠赚,剛執(zhí)行$ django-admin startproject mysite
,生成了一個(gè)工程目錄抗愁,運(yùn)行了一下python manage.py runserver
就給我報(bào)了個(gè)錯(cuò)馁蒂,
django.db.utils.OperationalError: unable to open database file
是文件權(quán)限的問(wèn)題呵晚,用chmod改一下就好了。通過(guò)報(bào)錯(cuò)信息可以看出沫屡,默認(rèn)的django工程是鏈接了sqlite數(shù)據(jù)庫(kù)的饵隙。sqlite數(shù)據(jù)庫(kù)需要文件讀寫執(zhí)行權(quán)限,因此需要修改沮脖。
什么都沒寫的運(yùn)行結(jié)果是:
It worked!
Congratulations on your first Django-powered page.
django鏈接數(shù)據(jù)庫(kù)
官網(wǎng)資料傳送門
在工程文件的二級(jí)文件夾中,找到settings.py中的DATABASES項(xiàng)目.
修改'ENGINE',默認(rèn)的是鏈接sqlite,'django.db.backends.sqlite3';把它改成需要的數(shù)據(jù)庫(kù),比如mariadb/mysql的'ENGINE': 'django.db.backends.mysql',
.
修改'NAME',它的值應(yīng)該是數(shù)據(jù)庫(kù)的名稱.
此外還需要修改USER, PASSWORD, HOST項(xiàng)目
例如
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', #數(shù)據(jù)庫(kù)引擎
'NAME': 'test', #數(shù)據(jù)庫(kù)名
'USER': 'root', #用戶名
'PASSWORD': 'root', #密碼
'HOST': '', #數(shù)據(jù)庫(kù)主機(jī)金矛,默認(rèn)為localhost
'PORT': '', #數(shù)據(jù)庫(kù)端口,MySQL默認(rèn)為3306
'OPTIONS': {
'autocommit': True,
},
}
}
題外話——python3 mysql數(shù)據(jù)庫(kù)
python2.x中使用MySQLdb鏈接mysql數(shù)據(jù)庫(kù)勺届,然而MySQLdb并不支持python3.x版本驶俊。3.x中可以使用PyMySQL鏈接mysql數(shù)據(jù)庫(kù)。
具體方法見鏈接
-----------------題外話over-----------------------