【问题标题】:MySQL Connector/python not working in djangoMySQL 连接器/python 在 django 中不起作用
【发布时间】:2014-11-17 17:34:41
【问题描述】:

我正在学习使用 MySQL 作为后端的 Django。我安装了 Oracle 的 mysql 连接器来连接 mysql。但是,当我运行 python manage.py 时,我得到了这个错误

Traceback(最近一次调用最后一次): 文件“C:\Python33\lib\site-packages\django\db\backends\mysql\base.py”,第 14 行,在 导入 MySQLdb 作为数据库 ImportError:没有名为“MySQLdb”的模块

这有点奇怪。我在想如果我安装了 mysql 连接器/python,我就不再需要 MySQLdb。

谁能帮忙解释一下?谢谢!

我的数据库设置:

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': "djangolearn",
    'USER': 'root',
    'PASSWORD': '',
    'HOST': '127.0.0.1',
    'PORT': '3306',
}}

【问题讨论】:

    标签: python mysql django mysql-python mysql-connector


    【解决方案1】:

    为在 django 中工作的 MySQL 连接器 试试这个:

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'djangolearn',
            'USER': 'root',
            'PASSWORD': '',
            'HOST': '127.0.0.1',
            'PORT': '3306',
        }
    }
    

    或尝试在 django 中工作的 MySQL 连接器池

    DATABASES = {
        'default': {
            'ENGINE': 'PyMysqlPool.mysql.connector.django',
            'NAME': 'djangolearn',
            'USER': 'root',
            'PASSWORD': '',
            'HOST': '127.0.0.1',
            'PORT': '3306',
            'OPTIONS': {
                'autocommit': True,
                'pool': {
                    #use = 0 no pool else use pool
                    "use":0,
                    # size is >=0,  0 is dynamic pool
                    "size":10,
                    #pool name
                    "name":"local",
                }
            },
        }
    }
    

    【讨论】:

      【解决方案2】:
      # for mysql connector use this
      
      DATABASES = {
      'default': {
          'ENGINE': 'mysql.connector.django',
          'NAME': 'dbname',               
          'USER': 'user',
          'PASSWORD': '',
          'HOST': '127.0.0.1',
          'PORT': '3306',
      },
      

      }

      【讨论】:

      【解决方案3】:

      试试:pip install mysql-python

      如果这不起作用:确保您可以连接到您的数据库(使用 phpmyadmin 或 mysql 工作台进行测试)

      【讨论】:

        【解决方案4】:

        如果您使用 Oracle 的连接器,则需要使用他们的 Django db 后端。

        their documentation

        【讨论】:

        • 谢谢!我也刚看到。
        猜你喜欢
        • 2011-02-18
        • 2017-01-24
        • 2021-09-18
        • 1970-01-01
        • 2018-02-24
        • 2017-08-12
        • 2018-11-09
        • 1970-01-01
        • 2017-10-23
        相关资源
        最近更新 更多