一、安装pymysql
1、由于现在大家基本都是py3玩家,所以需要先安装(有就不用安装了):pip install pymysql
2、在项目下的init文件下安装pymysql。在文件中加入:
import pymysql
pymysql.install_as_MySQLdb()
报错:django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.3 or newer is required; you have 0.9.5.None。
解决方法:找到python安装路径下的Python\Python37-32\Lib\site-packages\django\db\backends\mysql\base.py文件,把以下代码注释掉
二、配置数据库连接
因为django默认连接的是自带的sqlite3,我们要修改成mysql,打开setting文件,找到DTATBASE,也就是数据库那部分,改成如下:
"ENGING"是指我们要连接的数据库驱动名称(mysql,postgresq,oracle),默认是sqlite3,要连接什么驱动我们就写什么django.db.backends.XXX
"NAME"是指数据库的名称。
"USER"和"PASSWORD"指用户和密码
"HOST"和"POST"指数据库服务器地址和端口号。
三、建表
1、我们用django带的orm建表。首先在models文件中输入需要的表名(即类名,必须继承models.Model),字段,字段大小等。例如:
2、创建迁移文件
python manage.py makemigrations
报错:File “C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\backends
mysql\operations.py”, line 146, in last_executed_query
query = query.decode(errors=‘replace’)
AttributeError: ‘str’ object has no attribute ‘decode’。
解决方法:找到报错的路径把decode改成encode。
3、同步到数据库
python manage.py migrate
4、OK大功告成
这里的blog_child就是我创建的表,其他是Django创建的。