如何在 django 1.10.6 中连接 MySQL 数据库

Posted

技术标签:

【中文标题】如何在 django 1.10.6 中连接 MySQL 数据库【英文标题】:How to connect MySQL Database in django 1.10.6 【发布时间】:2017-08-23 00:19:06 【问题描述】:
import mysqlDB as Database

文件“c:\pythonprojects\env\lib\site-packages\mysql_python-1.2.2-py3.6-win32.egg\mysqldb__init__py”,第 22 行

 raise ImportError, "This is MySQL Version %s, But _mysql is version %r" 

SyntaxError: 无效语法

【问题讨论】:

我们需要有关您的问题的更多信息。发布您的代码或只是更好地描述您的问题 【参考方案1】:

i) 首先你必须在你的机器上安装 mysql 服务器,如果你已经启动并运行了 mysql 服务器然后跳转到下一步。

ii) 在 mysql 中创建一个用户(你可以使用 root 用户,但我建议创建一个单独的用户)你可以参考 mysql 文档来创建一个新用户。假设您创建了一个用户:- username = testuser ,password = testpass@123

iii) 在 mysql 中创建一个数据库,命名为 testDB

iv) 现在你必须安装 mysqlclient-python,要从 PyPI 安装它,你可以通过键入 pip install mysqlclient 来安装它(如果你正在设置,默认情况下 pip python 包管理器指向 python2 系列在 python3 上启动你的 django 项目,那么你必须使用 pip3) 有关如何在你的特定操作系统上安装 mysqlclient-python 的更多信息,你可以参考这个链接:https://github.com/PyMySQL/mysqlclient-python

v) 现在在 DATABASES 键下的 settings.py 中进行以下更改:

 DATABASES = 
    'default':  
      'ENGINE': 'django.db.backends.mysql', # for mysql engine
      'NAME': 'testDB',
      'USER': 'testuser',
      'PASSWORD': 'testpass@123',
      'HOST': 'localhost', # if you want to run your project on your localmachine 
 
    

vi) 现在将工作目录更改为 django 项目目录:“cd yourDjangoProject”并运行这些 django 命令

python manage.py makemigrations python manage.py 迁移

现在我希望上面的 django 命令能够成功运行,并且你可以在你的 django 项目中使用你的 mysql 数据库。

【讨论】:

【参考方案2】:

确保您已安装 pymysql。然后在 settings.py 中执行此操作

try:
    import pymysql
    pymysql.install_as_MySQLdb()
except:
    pass

DATABASES = 
    'default': 
        'ENGINE': 'django.db.backends.mysql', 
        'NAME': 'db-name',
        'USER': 'username',
        'PASSWORD': 'password',
        'HOST': 'localhost',   # Or an IP Address that your DB is hosted on
        'PORT': '3306',
    

【讨论】:

谢谢兄弟。它的工作。

以上是关于如何在 django 1.10.6 中连接 MySQL 数据库的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Django 中执行此连接查询

如何在 django 模板中连接字符串?

如何在django中连接mysql [重复]

如何在 Django 模板中连接内容块? [复制]

如何在 Django 中连接 Salesforce 数据库?使用 Python 执行 API 调用?

如何在 django 中进行内部连接?