Django连接myslq数据库

Django连接myslq数据库

版本信息
django 2.1.4
pymyslq 0.9.3
mysql 5.7

条件准备

电脑中安装有mysql数据库

需要用到的python第三方:pymysql

安装:

pip install pymysql

配置settings.py文件

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        # mysql数据库名称
        'NAME': 'chaochao',
        # 登陆mysql的用户名
        'USER': 'root',
        # 登陆mysql的用户名密码
        'PASSWORD': 'chaochao666',
        # mysql ip地址,不填表示使用默认地址,默认为localhost
        'HOST': '',
        # mysql端口号,不填表示使用默认端口,默认为3306
        'PORT': '',
    }
}

在这里插入图片描述

这里的 name ,即mysql数据库的数据库名,需要在执行迁移命令之前手动创建好

并且,数据库的编码格式需要设置为utf-8

在这里插入图片描述

使用pymysql将Django与mysql连接起来

# __init__.py 文件
import pymysql

pymysql.install_as_MySQLdb()

在这里插入图片描述

如果显示报错,ImproperlyConfigured: mysqlclient 1.4.0 or newer is required; you have 0.9.3.
将代码上面的代码修改为

# __init__.py 文件
import pymysql
pymysql.version_info = (1, 4, 0, "final", 0)  # 这里的三个数字需要根据情况修改
pymysql.install_as_MySQLdb()

第二行中的三个数字,需要根据实际情况修改

这三个数字可以在报错信息中看到
在这里插入图片描述

第二行中的三个数字和报错信息中的三个数字报错一致即可

这样就将Django与myslq联系在了一起

编写models.py 文件后,执行迁移指令,进入mysql,即可看到myslq中自动生成了一些表

在这里插入图片描述

如果是使用其他数据库执行迁移命令之后,修改为mysql数据库,需要重新创建超级用户

即执行命令 python manage.py createsuperuser

因为之前所有的数据都在之前迁移时使用的数据库中,现在修改为了mysql,所以之前所有的数据都没有了

这是,创建超级用户,进入后台管理页面,为数据库添加数据,保存之后,进入mysql,可以发现数据已经保存到mysql中了

在这里插入图片描述

在这里插入图片描述

models.py 的类中,没有定义 id 这一列,但是表中却有着一列

是因为在类中没有指定 主键

如果在models.py 的类中指定了 主键,自动创建的表中就不会有 id 列了

也可以直接在mysql在相应的表中添加数据

在这里插入图片描述

无论是用过超级用户,还是直接在mysql的表中添加数据,效果都是一样的

使用Django连接mysql数据库,可能会报一个错误,显示 mysqlclient 的版本过低,这是因为django的原因

这种情况,有两种解决方法
1、安装 2.1.4 版本的django(本人使用的版本就是这个)
2、修改django源码,需要注释掉一行代码,需要的朋友可以自行搜索

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Python中,可以使用Django框架来连接MySQL数据库。下面是连接MySQL数据库的步骤: 1. 安装MySQL驱动程序 在Python中连接MySQL数据库需要使用MySQL驱动程序,可以使用pip命令安装MySQL驱动程序,命令如下: ``` pip install mysql-connector-python ``` 2. 在Django项目中配置数据库连接信息 在Django项目的settings.py文件中,可以配置MySQL数据库连接信息,如下所示: ``` DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'database_name', 'USER': 'username', 'PASSWORD': 'password', 'HOST': 'localhost', 'PORT': '3306', } } ``` 其中,'ENGINE'指定了使用的数据库引擎,'NAME'指定了数据库名称,'USER'和'PASSWORD'指定了连接数据库的用户名和密码,'HOST'指定了数据库服务器的地址,'PORT'指定了数据库服务器的端口号。 3. 创建Django模型 在Django项目中,可以使用模型来操作数据库。可以在models.py文件中定义模型,如下所示: ``` from django.db import models class Book(models.Model): title = models.CharField(max_length=100) author = models.CharField(max_length=50) pub_date = models.DateField() ``` 上述代码定义了一个Book模型,包含了title、author和pub_date三个字段。 4. 运行数据库迁移命令 在Django项目中,需要运行数据库迁移命令来创建数据库表。可以使用以下命令来运行数据库迁移命令: ``` python manage.py makemigrations python manage.py migrate ``` 5. 使用Django模型操作数据库Django项目中,可以使用模型来操作数据库。可以使用以下代码来创建一条Book记录: ``` from myapp.models import Book from datetime import date book = Book(title='Python入门教程', author='张三', pub_date=date(2021, 1, 1)) book.save() ``` 上述代码创建了一条Book记录,并将其保存到数据库中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值