【问题标题】:pycharm django super().get_context_data(**kwargs) has errorspycharm django super().get_context_data(**kwargs) 有错误
【发布时间】:2018-11-06 05:22:44
【问题描述】:

这是我正在尝试的代码:

class PublisherDetail(SingleObjectMixin, ListView):
    paginate_by = 2
    template_name = "books/publisher_detail.html"

    def get(self, request, *args, **kwargs):
        self.object = self.get_object(queryset=Publisher.objects.all())
        return super().get(request, *args, **kwargs)

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['publisher'] = self.object
        return context

    def get_queryset(self):
        return self.object.book_set.all()

在这一行:

context = super().get_context_data(**kwargs)

Pycharm 说: python 2.7 版不支持这种语法。 PS: 1) 设置 > 编辑器 > 检查 > 代码兼容性被禁用 2)我的解释器是python 3.6.3

第二个错误是关于(在同一行):

Unresolved attribute reference 'get_context_data' for class 'super'

附注: 我已经在 Pycharm 中标记了源码根目录。

我怎样才能摆脱这些错误? (都是错误,不是警告)

Pycharm 版本: PyCharm 2018.2.3(专业版) 构建 #PY-182.4323.49,构建于 2018 年 9 月 4 日 视窗 10 10.0

【问题讨论】:

  • 我忘了说,当我运行服务器时它工作正常,但在Pycharm中它有错误。
  • 检查什么解释器设置包含python版本?
  • @ManojJadhav 感谢您的评论。现在是 3.6.3
  • @Amin.B 也许你可以看看这个答案:stackoverflow.com/a/20879661/2696165 用于在 Pycharm 中配置 Python
  • @ruddra 谢谢,我仔细检查过,没有问题。

标签: django python-3.x pycharm


【解决方案1】:

解决了。只需关闭并打开 Pycharm(重新启动)。那太奇怪了。 您还可以使用:文件 > 使缓存无效/重新启动

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-28
    • 2017-08-06
    • 2021-11-26
    • 1970-01-01
    • 1970-01-01
    • 2018-08-27
    • 1970-01-01
    相关资源
    最近更新 更多