MySQL Connector/python not working in django

允我心安 提交于 2019-12-08 06:15:26

问题


I'm learning Django with MySQL as backend. I installed Oracle's mysql connector to connect with mysql. However, when I run python manage.py I got this error

Traceback (most recent call last): File "C:\Python33\lib\site-packages\django\db\backends\mysql\base.py", line 14, in import MySQLdb as Database ImportError: No module named 'MySQLdb'

That's a bit weird. I was thinking if I installed mysql connector/python I dont need MySQLdb anymore.

Could anyone help explain? Thanks!

My database setting:

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

回答1:


# for mysql connector use this

DATABASES = {
'default': {
    'ENGINE': 'mysql.connector.django',
    'NAME': 'dbname',               
    'USER': 'user',
    'PASSWORD': '',
    'HOST': '127.0.0.1',
    'PORT': '3306',
},

}




回答2:


If you're using Oracle's connector, you need to use their Django db backend.

See their documentation.




回答3:


Try: pip install mysql-python

If that does not work: make sure you can connect to your database (use phpmyadmin or mysql workbench to test that)




回答4:


try this for MySQL Connector that working in django:

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

or try this for MySQL Connector pool that working in django:

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",
            }
        },
    }
}


来源:https://stackoverflow.com/questions/25996328/mysql-connector-python-not-working-in-django

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!