Python Django切换MySQL数据库实例详解
作者:小柒 发布时间:2024-01-21 02:02:47
准备
软件 | 版本 |
---|---|
Django | 2.1.3 |
Python | 3.7.1 |
默认使用的是sqlite3
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
切换为MySql:
# settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'book',
'USER': 'root',
'PASSWORD': '123456',
'HOST': '127.0.0.1',
'POST': '3306',
}
}
实现步骤
我们使用Django 来操作MySQL,实际上底层还是通过Python来操作的。因此我们想要用Django来操作MySQL,首先还是需要安装一个驱动程序。在Python3中,驱动程序有多种选择。比如有pymysql以及mysqlclient等。
常见的Mysql驱动介绍:
MySQL-python:也就是MySQLdb。是对C语言操作MySQL数据库的一个简单封装。遵循了Python DB API v2。但是只支持Python2,目前还不支持Python3。
mysqlclient:是MySQL-python的另外一个分支。支持Python3并且修复了一些bug。
pymysql:纯Python实现的一个驱动。因为是纯Python编写的,因此执行效率不如MySQL-python。并且也因为是纯Python编写的,因此可以和Python代码无缝衔接。
MySQL Connector/Python:MySQL官方推出的使用纯Python连接MySQL的驱动。因为是纯Python开发的。效率不高。
mysqlclient安装
基于目前的环境以及版本来说,直接运行 pip install mysqlclient 是会报错的,具体错误,自己执行以下就知道了。
解决办法:
去 https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient 下载指定文件,我用的是python3.7,win环境是64位,所以下载了mysqlclient-1.3.13-cp37-cp37m-win_amd64.whl。
然后执行:
pip3 install mysqlclient-1.3.13-cp37-cp37m-win_amd64.whl
如果出现以下说明安装成功:
Installing collected packages: mysqlclient
Successfully installed mysqlclient-1.3.13
迁移数据库
Django中通过以下命令来迁移数据库,在每次创建Model时,执行该命令,在数据库中生成对应的表:
python manage.py makemigrations
python manage.py migrate
来源:https://blog.52itstyle.vip/archives/3671/
猜你喜欢
- 跟着趣味开发python一起实现的弹球小游戏游戏运行效果实现流程1.创建游戏画布(创建ball类)2.增加几个动作(让小球移动、让小球来回反
- ROC曲线绘制要点(仅记录)1、ROC用于度量模型性能2、用于二分类问题,如若遇到多分类也以二分类的思想进行操作。3、二分类问题代码实现(至
- 类代码:# -*- coding:gbk -*-import ConfigParser, osclass INIFILE: de
- 简述队列一直都是工程化开发中经常使用的数据类型,本篇文章主要介绍一下python queue的使用,会边调试代码,边说明方法内容。环境pyt
- Python 通过微信邮件实现电脑关机,供大家参考,具体内容如下通过手机微信发送QQ邮件给sina邮箱,然后利用python的pop3定时检
- 在python的类中会使用到“self”,本文主要是谈谈类中的self和变量的关系。先看示例代码I。
- #!/usr/bin/env python3# -*- coding: utf-8 -*-# File Name : gt1.py# Pur
- str.join即sequence – 要连接的元素序列。返回通过指定字符连接序列中元素后生成的新字符串。n =
- --BEGIN DISTRIBUTED TRANSACTION [transactionname]--标志一个由分布式事务处理协调器MSDT
- 想必大家都很喜欢用Word打字,用Excel进行计算和规划,用PowerPoint作幻灯片进行展示…,但是这只用到了Office系列产品的很
- 1.虚拟机数据库设置--重启数据库(1)vi /etc/my.cnfbind = 0.0.0.0(2).远程不能用root用户连,得新建用户
- Pandas是一个强大的数据处理库,它提供了高性能、易于使用的数据结构和数据分析工具。本文将介绍Pandas常用的数据结构和常用的数据分析技
- 使用Keras如果要使用大规模数据集对网络进行训练,就没办法先加载进内存再从内存直接传到显存了,除了使用Sequence类以外,还可以使用迭
- 本文实例分析了Go语言多值替换的HTML模板用法。分享给大家供大家参考。具体如下:这里通过两种方式提供基于HTML模板的多变量值替换。另外附
- using System; using System.Data; using System.Configuration; using Sys
- 内容摘要:浏览器不兼容这个难题,一直是网页设计师们头痛的事情。ie7.0的面世,尚且不论他是否较之ie6.0进步, ie7和ie6
- 如下所示:public function a(){ return $this->belongsTo('App\Mo
- RPCHandler 和 R * roxy 的基本思路是很比较简单的。 如果一个客户端想要调用一个远程函数,比如 foo(1, 2, z=3
- ftp登陆连接from ftplib import FTP #加载ftp模块ftp=FTP() &n
- python logging模块主要是python提供的通用日志系统,使用的方法其实挺简单的,这块就不多介绍。下面主要会讲到在使用pytho