西游之路——python全栈——django中models配置
Posted 陆游憩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了西游之路——python全栈——django中models配置相关的知识,希望对你有一定的参考价值。
目录
Django支持多种数据库,sqlite,mysql,oracle等,其默认数据库是sqlite
在settings文件中可以发现:
DATABASES = { \'default\': { \'ENGINE\': \'django.db.backends.sqlite3\', \'NAME\': os.path.join(BASE_DIR, \'db.sqlite3\'), } }
其默认数据库是sqlite3
要想使用其他数据库,需要修改相应的引擎和配置
(1)sqlite:
\'ENGINE\': \'django.db.backends.sqlite3\', #设置引擎 \'NAME\': os.path.join(BASE_DIR, \'db.sqlite3\'), #设置数据库存放路径
(2)mysql
DATABASES = { \'default\': { \'ENGINE\': \'django.db.backends.mysql\', #数据库引擎设置 \'NAME\': \'test\', #数据库名称 \'USER\': \'root\', #数据库用户名 \'PASSWORD\':\'root\', #数据库密码 \'HOST\':\'\', #主机地址,默认localhost \'PORT\':\'3306\' #数据库端口 } }
然后在APP目录下models文件中添加:
from django.db import models # Create your models here. class UserInfo(models.Model): username = models.CharField(max_length=64) age = models.IntegerField()
使用命令生成数据表(python---django使用数据库(orm)):
python manage.py makemigrations python manage.py migrate
会发现报错:
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
原因是因为:
Django默认你导入的是MySQLdb,但是MySQLdb 对于py3版本有很大问题,所以我们需要的驱动为pymysql,所以在项目名文件夹的__init__.py中引入pymysql(也可以直接在settings下的全局文件__init__.py中引入)
import pymysql pymysql.install_as_MySQLdb()
再进行启动,可以成功创建。
以上是关于西游之路——python全栈——django中models配置的主要内容,如果未能解决你的问题,请参考以下文章