pycharm django super()。get_context_data(** kwargs)错误

时间:2018-11-06 05:22:44

标签: django python-3.x pycharm

这是我要尝试的代码:

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版不支持此语法。 附言: 1)设置>编辑器>检查>代码兼容性已禁用 2)我的解释器是python 3.6.3

,第二个错误大约是(在同一行中):

Unresolved attribute reference 'get_context_data' for class 'super'

P.S: 我已经在Pycharm中标记了源根。

如何摆脱这些错误? (都是错误,不是警告)

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

1 个答案:

答案 0 :(得分:0)

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