Python 错误:此方法仅适用于类,不适用于实例

Posted

技术标签:

【中文标题】Python 错误:此方法仅适用于类,不适用于实例【英文标题】:Python error: This method is only available to the class, not on instances 【发布时间】:2018-02-04 21:23:33 【问题描述】:

我正在开发一个 Django 应用程序,并在我的 urls.py 中定义了以下行

path('organizations/', views.OrganizationListView().as_view(), name='organizations'),

当我运行我的服务器时,我收到以下错误

lib\site-packages\django\utils\decorators.py", line 11, in __get__
    raise AttributeError("This method is available only on the class, not on instances.")
AttributeError: This method is available only on the class, not on instances.

我知道这一定是因为在对象和类上调用方法的不同,但不确定究竟是什么导致了它以及如何解决。

【问题讨论】:

【参考方案1】:

你在这里实例化了这个类,你不应该这样做。应该是:

path('organizations/', views.OrganizationListView.as_view(), name='organizations'),

【讨论】:

谢谢。我正在按照此处建议的步骤操作:developer.mozilla.org/en-US/docs/Learn/Server-side/Django/… 在“URL 映射”下,我认为这会起作用。所以我的代码中一定遗漏了一些东西。 是的。该页面显示的代码与我的代码相同,而不是您的。 @Jorjani 以防万一你错过了,他删除了 OrganizationListView 后面的括号。对我来说变化不是很明显。

以上是关于Python 错误:此方法仅适用于类,不适用于实例的主要内容,如果未能解决你的问题,请参考以下文章

Python wave 模块仅适用于 v2.7,不适用于 v3.4 linux

VBA 排序代码仅适用于一张纸,但不适用于多张

Cloudkit 身份验证仅适用于我的 alt 帐户,不适用于 Dev 或 Tester 帐户

仅适用于类及其子类的属性

适用于类方法和实例方法的装饰器

Swagger 仅适用于 apicontroller,不适用于 mvc 控制器?