一尘不染

我可以在Django(dev 1.6.x)和Python3.x上使用MySQL吗?

django

我从git repo使用Django dev(1.6.x),我想使用MySQL,但是在settings.py文件上无法设置MySQL,因为python3和Django不支持MySQL,所以我在python3.x上使用pymysql包没有任何问题,但是在Django中也无法对其进行设置settings.py

我可以在python3的django上使用mysql(或pymysql或?)吗?


阅读 322

收藏
2020-04-02

共1个答案

一尘不染

我还努力使MySQL与Django 1.6和Python 3.3兼容。唯一起作用的是切换到PyMySQL。在这里看到我的帖子

在下面添加答案

我的环境:Windows上的OSX 10.9,Python 3.3.3,Django 1.6.1,PyMySQL 0.6.1,MySQL Server 5.5

如何运作:

  1. 安装PyMySQL版本0.6.1(https://github.com/PyMySQL/PyMySQL/):你可以使用pip,即:pip install PyMySQL或通过手动下载软件包来安装它。他们的网站上有很好的文档说明了如何执行此操作。

  2. 打开你的Django应用__init__.py并粘贴以下行:

import pymysql
pymysql.install_as_MySQLdb() 
  1. 现在,打开settings.py并确保你的DATABASE属性如下所示:
DATABASES = {
   'default': {
       'ENGINE': 'django.db.backends.mysql',
       'NAME': 'mydb',
       'USER': 'dbuser',
       'PASSWORD': 'dbpassword',
       'HOST': 'dbhost',
       'PORT': '3306'
    }
}
  1. 就是这样,你应该能够执行python manage.py syncdb初始化MySQL数据库的操作。请参阅下面的示例输出:
Creating tables ...
Creating table django_admin_log
Creating table auth_permission
Creating table auth_group_permissions
...
...
Creating table socialaccount_socialtoken

You just installed Django's auth system, which means you don't have any superusers defined.
...
2020-04-02