Django中更改默认数据库为mysql的方法示例


Posted in Python onDecember 05, 2018

Django中默认使用sqlite3数据库,今天研究了下如何将它换成常见的mysql数据库。

由于项目用得python3,而MySQLdb没有支持python3的版本,如果使用python3.x版本时,pip install MySQLdb时会报错。

后来通过谷歌发现可以使用pymysql替代MySQLdb

1 在项目根目录下的__init__.py文件中加入如下代码:

import pymysql
pymysql.install_as_MySQLdb()

2 使用mysqlclient代替MySQLdb,安装方式为:

pip install mysqlclient

3 更改项目setting.py中对数据库的配置为:

DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'test',
    'USER': 'username',
    'PASSWORD': 'passwd',
    'HOST': 'localhost',
    'PORT': '3306'
  }
}

4 最后通过python manage.py migrate命令,Django会在数据库中自动创建相应的表

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, polls, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying polls.0001_initial... OK
  Applying sessions.0001_initial... OK

5 在创建admin用户时,遇到了如下报错

python manage.py createsuperuser
Superuser creation skipped due to not running in a TTY. You can run `manage.py createsuperuser` in your project to create one manually.

后来查了一下,是因为使用了git来执行命令,切换到Windows自带的命令行,可以解决该问题!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python Sleep休眠函数使用简单实例
Feb 02 Python
Python全局变量操作详解
Apr 14 Python
利用Python中的pandas库对cdn日志进行分析详解
Mar 07 Python
python re模块的高级用法详解
Jun 06 Python
Python数据类型之Set集合实例详解
May 07 Python
python 对字典按照value进行排序的方法
May 09 Python
python 监控logcat关键字功能
Sep 04 Python
django跳转页面传参的实现
Sep 17 Python
详解KMP算法以及python如何实现
Sep 18 Python
Python 里最强的地图绘制神器
Mar 01 Python
使用Python+OpenCV进行卡类型及16位卡号数字的OCR功能
Aug 30 Python
python 判断文件或文件夹是否存在
Mar 18 Python
Python3爬虫爬取英雄联盟高清桌面壁纸功能示例【基于Scrapy框架】
Dec 05 #Python
在python2.7中用numpy.reshape 对图像进行切割的方法
Dec 05 #Python
Python3爬虫爬取百姓网列表并保存为json功能示例【基于request、lxml和json模块】
Dec 05 #Python
python3 实现对图片进行局部切割的方法
Dec 05 #Python
python中强大的format函数实例详解
Dec 05 #Python
python3+opencv3识别图片中的物体并截取的方法
Dec 05 #Python
解决Python3.5+OpenCV3.2读取图像的问题
Dec 05 #Python
You might like
屏蔽浏览器缓存另类方法
2006/10/09 PHP
PHP中把有符号整型转换为无符号整型方法
2015/05/27 PHP
不使用jquery实现js打字效果示例分享
2014/01/19 Javascript
js实例属性和原型属性示例详解
2014/11/23 Javascript
JS Attribute属性操作详解
2016/05/19 Javascript
vue.js初学入门教程(2)
2016/11/07 Javascript
微信小程序 Template详解及简单实例
2017/01/05 Javascript
nodejs中使用HTTP分块响应和定时器示例代码
2017/03/19 NodeJs
深入解析Vue 组件命名那些事
2017/07/18 Javascript
IScroll5实现下拉刷新上拉加载的功能实例
2017/08/11 Javascript
angular4模块中给标签添加背景图的实现方法
2017/09/15 Javascript
移动端效果之Swiper详解
2017/10/09 Javascript
基于react后端渲染模板引擎noox发布使用
2018/01/11 Javascript
js实现简单选项卡功能
2020/03/23 Javascript
vue router带参数页面刷新或回退参数消失的解决方法
2019/02/27 Javascript
python实现在pickling的时候压缩的方法
2014/09/25 Python
简单介绍Python中的RSS处理
2015/04/13 Python
解决python中画图时x,y轴名称出现中文乱码的问题
2019/01/29 Python
Python微信操控itchat的方法
2019/05/31 Python
python中单下划线(_)和双下划线(__)的特殊用法
2019/08/29 Python
Python程序暂停的正常处理方法
2019/11/07 Python
python使用nibabel和sitk读取保存nii.gz文件实例
2020/07/01 Python
用python实现前向分词最大匹配算法的示例代码
2020/08/06 Python
瑞典领先的汽车零部件网上零售商:bildelaronline24.se
2017/01/12 全球购物
阿里云:Aliyun.com
2017/02/15 全球购物
新西兰珠宝品牌:Michael Hill
2017/09/16 全球购物
Carolina工作鞋官网:Carolina Footwear
2019/03/14 全球购物
英语系本科生个人求职信
2013/09/21 职场文书
大学生个人求职信范文
2013/09/21 职场文书
经典英文广告词
2014/03/18 职场文书
《长征》教学反思
2014/04/27 职场文书
敬老院院长事迹材料
2014/05/21 职场文书
出生证明格式
2015/06/15 职场文书
新年寄语2016
2015/08/17 职场文书
2019通用版导游词范本!
2019/08/07 职场文书
python使用pywinauto驱动微信客户端实现公众号爬虫
2021/05/19 Python