4

    科技2023-11-09  70

    使用MYSQL数据库

    Django自带的sqlite并不能满足我们开发的需求,这是我们需要将项目的数据库配置成mysql。

    mysql的安装这里就不做介绍了。

    sqlite更换mysql

    新建数据库

    CREATE DATABASE myblog DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

    在settings.py中配置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'myblog', 'USER': 'root', 'PASSWORD': 'root', 'PORT': 3306, 'HOST': '127.0.0.1' } } 安装pymysql

    pip install pymysql

    在iblog/__init__.py中,添加 import pymysql pymysql.install_as_MySQLdb()

    执行python manage.py migrate

    等数据迁移成功,该项目就成功引入MySQL数据库了。

    引入数据库的时候,可能会出现AttributeError: 'str' object has no attribute 'decode'的错误.如下图:

    这时,需要到图片上所示的

    site-packages\django\db\backends\mysql\operations.py

    目录下,修改第146行,将decode修改为encode,即可。

    Processed: 0.010, SQL: 8