如何在Django项目中使用MYSQL作为数据库?

时间:2018-03-18 08:33:14

标签: python mysql django

Django的默认数据库是sqlite,但我想使用MYSQL。由于python3.x不支持MYSQLdb模块,django的官方文档建议使用{{1而{和mysqlclient代替。这是原始文档:

  

MySQL有两个实现PEP 249中描述的Python数据库API的驱动程序:
  •mysqlclient是本机驱动程序。这是推荐的选择。
  •MySQL Connector / Python是Oracle的纯Python驱动程序,不需要MySQL客户端库   或标准库外的任何Python模块   这些驱动程序是线程安全的,并提供连接池   除了DB API驱动程序之外,Django还需要一个适配器来从其ORM访问数据库驱动程序。 Django提供   mysqlclient的适配器,而MySQL Connector / Python包含它自己的。

我有MySQL Connector/Pythonmysql-client的最新版本,但是当我执行mysql-connector-python命令时,会发生错误。这是消息的一部分:

  

.wrapper在0x7f2112e99d90>启动的线程中的未处理异常   Traceback(最近一次调用最后一次):     文件“/home/lothakim/anaconda3/envs/py36/lib/python3.6/site-packages/django/db/backends/mysql/base.py”,第15行,中
      将MySQLdb作为数据库导入   ModuleNotFoundError:没有名为'MySQLdb'django的模块。
.........

core.exceptions.ImproperlyConfigured:加载MySQLdb模块时出错。
你安装了mysqlclient吗?

这似乎是数据库连接的问题。但是我遵循了官方教程的每一步。我如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

这是一个愚蠢的错误......
我把mysql-clientmysqlclient混淆了。前者是MYSQL应用程序的一部分,而后者是python模块。我没有安装后者。
还要注意你应该{{ 1}} sudo apt-get install libmysqlclient-dev之前。