按照官网的指示,刚执行$ django-admin startproject mysite
,生成了一个工程目录,运行了一下python manage.py runserver
就给我报了个错,
django.db.utils.OperationalError: unable to open database file
是文件权限的问题,用chmod改一下就好了。通过报错信息可以看出,默认的django工程是链接了sqlite数据库的。sqlite数据库需要文件读写执行权限,因此需要修改。
什么都没写的运行结果是:
It worked!
Congratulations on your first Django-powered page.
django链接数据库
官网资料传送门
在工程文件的二级文件夹中,找到settings.py中的DATABASES项目.
修改'ENGINE',默认的是链接sqlite,'django.db.backends.sqlite3';把它改成需要的数据库,比如mariadb/mysql的'ENGINE': 'django.db.backends.mysql',
.
修改'NAME',它的值应该是数据库的名称.
此外还需要修改USER, PASSWORD, HOST项目
例如
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', #数据库引擎
'NAME': 'test', #数据库名
'USER': 'root', #用户名
'PASSWORD': 'root', #密码
'HOST': '', #数据库主机,默认为localhost
'PORT': '', #数据库端口,MySQL默认为3306
'OPTIONS': {
'autocommit': True,
},
}
}
题外话——python3 mysql数据库
python2.x中使用MySQLdb链接mysql数据库,然而MySQLdb并不支持python3.x版本。3.x中可以使用PyMySQL链接mysql数据库。
具体方法见链接
-----------------题外话over-----------------------