11

我刚开始在 Django 上进行开发,然后我认为在它上面使用Syntastic 语法检查器会是一个好主意。

问题是它抱怨某些事情是错误的,而事实上,它们并非如此。

例子:

  1. 为了

    from django.core.urlresolvers import reverse
    

    我得到:

    error| [F0401] Unable to import 'django.core.urlresolvers'
    
  2. 为了

    amount = self.sale_set.filter(date__year=year).aggregate(sum=Sum('amount'))["sum"]
    

    我得到(在self哪里Album

    error| [E1101, Album.get_sales_total] Instance of 'Album' has no 'sale_set' member
    

即使有这些“错误”,这段代码也能完美运行,但我怎样才能让 Syntastic 表现正确呢?

4

2 回答 2

5

捎带@supervacuo的回答:

有一种方法可以使它适用于合成,并且对于不熟悉合成选项的人(例如,我)来说,这很简单,即使不容易弄清楚:

在你的 .vimrc 中,添加这一行:

let g:syntastic_python_pylint_args = "--load-plugins pylint_django"

当然,这确实需要pylint-django安装在您的环境中

于 2015-10-22T19:44:33.113 回答
4

这两条消息都来自——您可以使用或在http://pylint-messages.wikidot.com/pylint上查看更完整的解释。pylint --help-msg=$ID

您可以使用eg 禁用检查from django.core.urlresolvers import reverse # pylint: disable=F0401,但这很快就会令人厌​​烦。

有一个用于 Django 的 pylint 插件,它肯定会修复你的 E1101(我希望 F0401 也是如此)。也许尝试安装插件并配置 Syntastic 以使用它?

于 2014-01-20T20:54:25.497 回答