2012-08-22 11 views
11

Ich fing gerade an, auf Django zu entwickeln, und dann dachte ich, dass die Verwendung der Syntastic syntax checker auf es eine gute Idee wäre.Syntastic + Django

Das Problem ist, dass es sich darüber beschwert, dass einige Dinge falsch sind, obwohl sie es tatsächlich nicht sind.

Beispiele:

  1. Für

    from django.core.urlresolvers import reverse 
    

    ich:

    error| [F0401] Unable to import 'django.core.urlresolvers' 
    
  2. Für

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

    ich (wo self ist ein Album)

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

Dieser Code läuft perfekt auch bei diesen "Fehler", aber wie kann ich Syntastic richtig verhalten?

+0

Dies sollte dann ein Fehlerbericht an die Entwickler von Syntastic sein. –

+1

Wahrscheinlicher ein Fehler in flake8, pyflakes oder pylint, da es sich um die Standard-Syntax-Checker von Syntastic handelt. –

Antwort

4

Diese beiden Nachrichten kommen von pylint - Sie können vollständige Erklärungen mit pylint --help-msg=$ID oder http://pylint-messages.wikidot.com/ sehen.

Sie können die Prüfungen mit z.from django.core.urlresolvers import reverse # pylint: disable=F0401, aber das wird ziemlich schnell ermüdend.

Es gibt eine pylint plugin for Django, die definitiv dein E1101 repariert (und ich hoffe das F0401 auch). Vielleicht sollten Sie das Plugin installieren und Syntastic dafür konfigurieren?

+0

Netter Vorschlag, aber hat nicht für mich gearbeitet. Zumindest innerhalb eines virtualenv. – logc

5

Huckepack auf @ supervacuo Antwort:

gibt es eine Möglichkeit, dies für syntastic Arbeit zu bekommen und es ist ziemlich einfach, wenn auch nicht einfach für jemanden, um herauszufinden, die nicht mit syntastic Optionen (wie, sagen wir, ich):

in Ihrem .vimrc, fügen Sie diese Zeile:

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

natürlich diese pylint-django erfordert in Ihrer Umgebung installiert werden

Verwandte Themen