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 28 Python
Python的包管理器pip更换软件源的方法详解
Jun 20 Python
Python实现拷贝多个文件到同一目录的方法
Sep 19 Python
Python数据结构与算法之列表(链表,linked list)简单实现
Oct 30 Python
tensorflow实现KNN识别MNIST
Mar 12 Python
Python Unittest自动化单元测试框架详解
Apr 04 Python
python实现银联支付和支付宝支付接入
May 07 Python
浅析PEP570新语法: 只接受位置参数
Oct 15 Python
关于Keras模型可视化教程及关键问题的解决
Jan 24 Python
python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例
Mar 18 Python
Pycharm无法打开双击没反应的问题及解决方案
Aug 17 Python
Python 列表反转显示的四种方法
Nov 16 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日历程序
2006/12/06 PHP
getimagesize获取图片尺寸实例
2014/11/15 PHP
Linux下编译redis和phpredis的方法
2016/04/07 PHP
php简单实现多维数组排序的方法
2016/09/30 PHP
PHP实现登录注册之BootStrap表单功能
2017/09/03 PHP
jQuery+css实现图片滚动效果(附源码)
2013/03/18 Javascript
jquery可见性过滤选择器使用示例
2013/06/24 Javascript
基于SVG的web页面图形绘制API介绍及编程演示
2013/06/28 Javascript
thinkphp 表名 大小写 窍门
2015/02/01 Javascript
一种Javascript解释ajax返回的json的好方法(推荐)
2016/06/02 Javascript
用nodejs的实现原理和搭建服务器(动态)
2016/08/10 NodeJs
详解AngularJS controller调用factory
2017/05/19 Javascript
使用OPENLAYERS3实现点选的方法
2020/09/24 Javascript
Nodejs 发布自己的npm包并制作成命令行工具的实例讲解
2018/05/15 NodeJs
Vue使用Proxy监听所有接口状态的方法实现
2019/06/07 Javascript
JS实现在线ps功能详解
2019/07/31 Javascript
更优雅的微信小程序骨架屏实现详解
2019/08/07 Javascript
JS秒杀倒计时功能完整实例【使用jQuery3.1.1】
2019/09/03 jQuery
浅谈VUE中演示v-for为什么要加key
2020/01/16 Javascript
Javascript执行流程细节原理解析
2020/05/14 Javascript
Python中比较特别的除法运算和幂运算介绍
2015/04/05 Python
python实现控制台打印的方法
2019/01/12 Python
pandas计数 value_counts()的使用
2019/06/24 Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
2020/01/14 Python
Python实现链表反转的方法分析【迭代法与递归法】
2020/02/22 Python
CSS3制作圆角图片和椭圆形图片
2016/07/08 HTML / CSS
我能否用void** 指针作为参数, 使函数按引用接受一般指针
2013/02/16 面试题
META-INF文件夹中的MANIFEST.MF的作用
2016/06/21 面试题
安全生产检查通报
2014/01/29 职场文书
2014年政协工作总结
2014/12/09 职场文书
2016感恩母亲节校园广播稿
2015/12/17 职场文书
2019年最新借条范本!
2019/07/08 职场文书
使用pycharm运行flask应用程序的详细教程
2021/06/07 Python
python使用pymysql模块操作MySQL
2021/06/16 Python
springboot集成flyway自动创表的详细配置
2021/06/26 Java/Android
Python OpenCV实现图形检测示例详解
2022/04/08 Python