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实现小数转化为百分数的格式化输出方法示例
Sep 20 Python
python基础教程项目五之虚拟茶话会
Apr 02 Python
对Python3+gdal 读取tiff格式数据的实例讲解
Dec 04 Python
python后端接收前端回传的文件方法
Jan 02 Python
python实现月食效果实例代码
Jun 18 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
Aug 13 Python
tensorflow2.0保存和恢复模型3种方法
Feb 03 Python
python使用python-pptx删除ppt某页实例
Feb 14 Python
Pytorch中的自动求梯度机制和Variable类实例
Feb 29 Python
Windows下Anaconda安装、换源与更新的方法
Apr 17 Python
如何将PySpark导入Python的放实现(2种)
Apr 26 Python
python opencv图像处理(素描、怀旧、光照、流年、滤镜 原理及实现)
Dec 10 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
PHP编程中字符串处理的5个技巧小结
2007/11/13 PHP
php中动态变量用法实例
2015/06/10 PHP
PHP isset()及empty()用法区别详解
2020/08/29 PHP
用JavaScript事件串连执行多个处理过程的方法
2007/03/09 Javascript
关于使用 jBox 对话框的提交不能弹出问题解决方法
2012/11/07 Javascript
用javascript读取xml文件读取节点数据
2014/08/12 Javascript
node.js中的path.isAbsolute方法使用说明
2014/12/08 Javascript
jQuery选择器源码解读(四):tokenize方法的Expr.preFilter
2015/03/31 Javascript
高性能JavaScript DOM编程(1)
2015/08/11 Javascript
JS实现支持Ajax验证的表单插件
2016/03/24 Javascript
浅谈jQuery绑定事件会叠加的解决方法和心得总结
2016/10/26 Javascript
基于canvas的二维码邀请函生成插件
2017/02/14 Javascript
vue-resource拦截器设置头信息的实例
2017/10/27 Javascript
详解Vue组件实现tips的总结
2017/11/01 Javascript
使用jquery模拟a标签的click事件无法实现跳转的解决
2018/12/04 jQuery
如何获取vue单文件自身源码路径
2019/05/06 Javascript
[57:55]EG vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python遍历文件夹和读写文件的实现代码
2016/08/28 Python
简述Python2与Python3的不同点
2018/01/21 Python
Python pygorithm模块用法示例【常见算法测试】
2018/08/16 Python
django解决订单并发问题【推荐】
2019/07/31 Python
opencv3/C++图像像素操作详解
2019/12/10 Python
Django关于admin的使用技巧和知识点
2020/02/10 Python
Python使用pyyaml模块处理yaml数据
2020/04/14 Python
python爬虫beautifulsoup解析html方法
2020/12/07 Python
HTML5不支持frameset的两种解决方法
2016/11/14 HTML / CSS
意大利巧克力店:Chocolate Shop
2019/07/24 全球购物
成都思必达公司C#程序员招聘面试题
2013/06/26 面试题
旅游管理毕业生自荐信
2013/11/05 职场文书
数控个人求职信范文
2014/02/03 职场文书
小学模范班主任事迹材料
2014/05/13 职场文书
副校长竞聘演讲稿
2014/09/01 职场文书
高中班主任评语
2014/12/30 职场文书
2016大学生形势与政策心得体会
2016/01/12 职场文书
如何让vue长列表快速加载
2021/03/29 Vue.js
vue3 自定义图片放大器效果的示例代码
2022/07/23 Vue.js