如何使用 pymysql 作为驱动程序来配置 Django?

问题描述 投票:0回答:3

我是 Django 新手。配置MySQL引擎浪费了我一下午的时间。我对数据库引擎和数据库驱动程序非常困惑。 发动机也是驾驶员吗?所有教程都说ENGINE应该是'django.db.backends.mysql',但是ENGINE如何决定使用哪个驱动程序来连接MySQL?

每次显示“django.db.backends.mysql”时,遗憾的是我无法安装 MySQLDb 和 mysqlclient,但 PyMysql 和官方 mysql 连接器 2.1.3 已安装。如何将驱动程序设置为 PyMysql 或 mysql 连接器?

非常感谢!

  • 操作系统:OS X Al Capitan
  • Python:3.5
  • 姜戈:1.9

这个问题还没有解决: ENGINE 也是DRIVER 吗?

python mysql django pymysql
3个回答
75
投票

您可以导入

pymsql
,使其显示为 MySQLdb。您需要在运行任何 django 代码之前执行此操作,因此请将其放入您的manage.py
文件中

import pymysql pymysql.install_as_MySQLdb()
    

1
投票
简短的回答是否定的,它们不一样。

Django 上下文中的

engine 指的是RDBMS 技术。 driver 是为了在启动和运行时促进与实际技术的通信而开发的库。让 Django 知道使用什么引擎告诉它如何从后端角度转换 ORM 函数。开发人员不会看到 ORM 代码发生变化,但 Django 会知道如何将这些操作转换为技术可以理解的语言。然后,驱动程序执行这些操作(例如选择、更新、删除)并将它们发送到正在运行的实例以促进操作。


0
投票
更新。我正在 apache 下使用 mod_wsgi 运行 Django 4.2.11。

为了使其正常工作,请修改

wsgi.py

 脚本(或任何您所称的名称)以包含 
user764357
 中的代码片段。当 
settings.py
 加载时,DJango 已经完成设置或失败。

© www.soinside.com 2019 - 2024. All rights reserved.