django+mysql='DatabaseWrapper'对象没有属性'Database'错误

2023-12-20

我刚刚安装了Python 3.3.0, mysql-connector and Django。然后我创建了我的第一个应用程序,名为 mysite。在settings.py我添加了这些行:

DATABASES = {
'default': {
    'ENGINE': 'mysql.connector.django', 
    'NAME': 'mydb',
    'USER': 'root',
    'PASSWORD': 'root',
    'HOST': 'localhost',
    'PORT': '3306',
}
}

当我运行服务器并进入管理页面时127.0.0.1:8000/admin/,我看到一长串以开头的错误AttributeError at /admin/ 'DatabaseWrapper' object has no attribute 'Database'。我不知道如何处理这些东西。完整的错误描述是:

AttributeError at /admin/
'DatabaseWrapper' object has no attribute 'Database'
 Request Method:    POST
 Request URL:   http://localhost:8000/admin/
 Django Version:    1.6.1
 Exception Type:    AttributeError
 Exception Value:   

 'DatabaseWrapper' object has no attribute 'Database'

  Exception Location:   C:\Python33\lib\site-packages\django\db\utils.py in __exit__, line 86
  Python Executable:    C:\Python33\python.exe
  Python Version:   3.3.0
  Python Path:  

  ['C:\\mysite',
  'C:\\Windows\\system32\\python33.zip',
  'C:\\Python33\\DLLs',
  'C:\\Python33\\lib',
  'C:\\Python33',
  'C:\\Python33\\lib\\site-packages']

EDIT

当我运行 python manage.pysyncdb 时,我还得到一长串错误:

C:\mysite>python manage.py syncdb
 Creating tables ...
 Traceback (most recent call last):
 File "manage.py", line 10, in <module>
 execute_from_command_line(sys.argv)
 File "C:\Python33\lib\site-packages\django\core\management\__init__.py", line
 399, in execute_from_command_line
 utility.execute()
 File "C:\Python33\lib\site-packages\django\core\management\__init__.py", line
 392, in execute
 self.fetch_command(subcommand).run_from_argv(self.argv)
 File "C:\Python33\lib\site-packages\django\core\management\base.py", line 242,
 in run_from_argv
 self.execute(*args, **options.__dict__)
 File "C:\Python33\lib\site-packages\django\core\management\base.py", line 285,
 in execute
 output = self.handle(*args, **options)
 File "C:\Python33\lib\site-packages\django\core\management\base.py", line 415,
 in handle
 return self.handle_noargs(**options)
 File "C:\Python33\lib\site-packages\django\core\management\commands\syncdb.py"
 , line 96, in handle_noargs
 sql, references = connection.creation.sql_create_model(model, self.style, se
 en_models)
 File "C:\Python33\lib\site-packages\django\db\backends\creation.py", line 83,
 in sql_create_model
 model, f, known_models, style)
 TypeError: sql_for_inline_foreign_key_references() takes 4 positional arguments
 but 5 were given

好的,所以我遇到了完全相同的问题。关于如何修改部分现有库以使 Python3 与 MySQL 一起工作有很多建议,但我没有发现其中任何一个可以 100% 工作。我无法使官方 MySQL Python 连接器与 Django 和 Python 3.3 一起使用。

有效的方法是切换到 PyMySQL 库。几个月前我已经尝试过,但当时它对我不起作用。现在,有一个开箱即用的新版本 0.6.1。所以,还有更多细节:

我的环境:Windows 上的 OSX 10.9、Python 3.3.3、Django 1.6.1、MyPySQL 0.6.1、MySQL Server 5.5

如何让它发挥作用:

  1. 安装 PyMySQL 版本 0.6.1 (https://github.com/PyMySQL/PyMySQL/ https://github.com/PyMySQL/PyMySQL/):您可以使用 pip 安装它,即:pip install PyMySQL或手动下载包;他们的网站上有一个很好的文档说明如何做到这一点。

  2. 打开你的 Django 应用程序__init__.py并粘贴以下行:

    import pymysql
    pymysql.install_as_MySQLdb() 
    
  3. 现在,打开设置.py并确保您的数据库属性如下所示:

    DATABASES = {
       'default': {
           'ENGINE': 'django.db.backends.mysql',
           'NAME': 'mydb',
           'USER': 'dbuser',
           'PASSWORD': 'dbpassword',
           'HOST': 'dbhost',
           'PORT': '3306'
        }
    }
    
  4. 就是这样,你应该能够执行python manage.py syncdb所以初始化你的MySQL数据库;请参阅下面的示例输出:

    Creating tables ...
    Creating table django_admin_log
    Creating table auth_permission
    Creating table auth_group_permissions
    ...
    ...
    Creating table socialaccount_socialtoken
    
    You just installed Django's auth system, which means you don't have any superusers defined.
    ...
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

django+mysql='DatabaseWrapper'对象没有属性'Database'错误 的相关文章

随机推荐

  • 如何通过引用传递枚举?

    我有一个带有四个键的枚举 我将其作为接口程序的输入 并且我想将枚举按值传递给接口函数 该函数已经变得相当长 枚举是这样的 enum MYKEYS W S O L 还有一个布尔数组 我必须通过引用传递 这也有点棘手 bool key 4 fa
  • 32位OR如何保持加载指令?(RISC风格32位架构)

    我对指令大小和可寻址空间有点困惑 我假设指令大小应该与地址位的大小相同 我在书中没有找到足够的解释 如果我是正确的 那么理论上如果我们有一个 2 32 32位架构 RISC风格 中的内存可寻址单元 字节 4字节大小的加载指令如何保存操作码和
  • 如何在 Firefox 中检查预检结果缓存的内容

    火狐浏览器支持吗http www w3 org TR cors preflight result cache http www w3 org TR cors preflight result cache如果是的话 如何查看其内容 如何将其与
  • Selenium python - 启动 Firefox Webdriver 时拒绝访问 /hub/session

    我最近刚刚开始使用 Selenium Webdriver 而不是 Selenium 1 0 并且我正在努力解决一个完全阻止我运行测试的问题 当尝试启动 webdriver Firefox 时 我收到一个 WebDriverException
  • 如何从活动中的RecyclerView上的onClick启动活动

    大家好 当我点击时 我正在尝试开始活动RecyclerView 当我在自定义适配器中添加代码时它就会启动 但是当我在 Activity 中编写它时 它只需给我 Log 上的位置 所以有什么帮助吗 这是活动中的 OnClick 代码 这就是我
  • C# Windows 服务

    Scenario 我创建了一个 Windows 服务 但是每当我启动它时 它都会立即停止 该服务是从一个控制台应用程序构思出来的 该应用程序用于订阅事件并监视服务器上的进程 如果进程发生任何事情 即它被杀死 那么该事件将触发进程重新启动 我
  • Bash:使用变量作为关联数组名称

    我正在编写一个 Bash 脚本来简化从我们的主站点到多个机构的文件复制 在此脚本中 我尝试使用变量作为关联数组名称 但出现错误 代码如下 bin bash declare A GROUP1 declare A GROUP2 declare
  • 创建 DLL 的编程语言:C++ 或 C#

    这不是编程疑问 我将为某些应用程序编写一个 DLL 我有两个选项可供选择 C 或 C 我应该用哪种语言编写 DLL 这会影响功能吗 我是一个完全的新手 不了解 C 和 C 但不了解 C 中的一些小程序 用 C 或 C 编写 DLL 的优点和
  • 列表元素与数据框描述何时发生?

    这可能非常简单 但我不知道出了什么问题 我在列出 DataFrame 的元素时遇到问题 有时会列出 DataFrame 的元素 有时只是对数据列的数量和类型的描述 我知道行数是一个因素 但即使我只有几行 我也只能得到描述 例如 如果我有一个
  • PHP foreach 循环中的数组是如何读取的?

    我们都听说过如何在for循环 我们应该这样做 for i 0 count count array i lt c i Do stuff while traversing array 而不是这个 for i 0 i lt count array
  • IEnumerable.Cast() 与 IEnumerable.Select() 中的转换

    假设我有一个IEnumerable
  • 如何使用 jQuery 将表格显示为工具提示?

    我有一个填充了数据的 Gridview 其中一列包含一个链接按钮 文件列表 如果我单击链接按钮 文件列表 将触发 net 事件 并调用数据库来检索数据 如何以 HTML 表格格式显示该数据作为工具提示 如附图所示 我想使用 jQuery 实
  • 如何在 Visual Studio 中自动递增程序集(内部版本)号? [复制]

    这个问题在这里已经有答案了 如何在 Visual Studio 中自动递增程序集 内部版本 号 复制 questions 650 自动更新版本号 https stackoverflow com questions 650 您可以只在其中使用
  • Spring Boot Actuator - 自定义健康端点

    我正在使用 Spring Boot Actuator 来返回应用程序的运行状况 public class HealthMonitor implements HealthIndicator Override public Health hea
  • 如何从表单中获取所有控件(包括任何容器中的控件)?

    例如 我需要一种方法来禁用表单中的所有按钮或验证所有文本框的数据 有任何想法吗 提前致谢 最简单的选择可能是级联 public static void SetEnabled Control control bool enabled cont
  • Play war 部署导致 Tomcat 停止

    我目前在 Tomcat 下的播放应用程序中遇到一些 onStop 问题 我正在使用 play 2 2 2 sbt 0 13 0 scala 2 10 4 和 Tomcat 7 和 jdk1 6 为了创建一个 war 文件 我使用 play2
  • 当预设为 640x480 时,为什么使用 AVFoundation 捕获图像会得到 480x640 图像?

    我有一些非常基本的代码来使用 AVFoundation 捕获静态图像 AVCaptureDeviceInput newVideoInput AVCaptureDeviceInput alloc initWithDevice self bac
  • 将“using”指令限制为当前文件

    抱歉问这个愚蠢的问题 但是有什么办法可以限制using指向当前文件的指令 以便它们不会传播到当前文件 include这个文件 不 没有 这就是为什么您不应在头文件或 include 的任何其他文件中使用 using 指令
  • 当 nan 在列表中第一个时,matplotlib 出现问题

    我有两个数字列表 我正在使用 matplotlib 在 Python 中绘制图表 但是 如果其中一个列表以 nan 值开头 matplotlib 将不会绘制我拥有的 15k 点中的任何一个 但是 如果列表中第一个值之后的某个位置有一个 na
  • django+mysql='DatabaseWrapper'对象没有属性'Database'错误

    我刚刚安装了Python 3 3 0 mysql connector and Django 然后我创建了我的第一个应用程序 名为 mysite 在settings py我添加了这些行 DATABASES default ENGINE mys