2012-08-22 2 views
11

방금 ​​장고에 대한 개발을 시작한 다음 Syntastic syntax checker을 사용하는 것이 좋습니다.Synthetic + Django

문제는 실제로는 그렇지 않을 때 잘못된 점에 대해 불만을 토로한다는 것입니다.

예 :

from django.core.urlresolvers import reverse 

를 들어

  1. 내가 얻을 :

    error| [F0401] Unable to import 'django.core.urlresolvers' 
    
  2. amount = self.sale_set.filter(date__year=year).aggregate(sum=Sum('amount'))["sum"] 
    
    ,691 들어

    내가 할

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

이 코드도 이러한 "오류"완벽하게 실행 (여기서 selfAlbum입니다)하지만, 내가 어떻게 Syntastic가 제대로 작동 할 수 있습니까?

+0

이것은 Syntastic 개발자에게 버그 보고서 여야합니다. –

+1

Syntake에서 사용하는 기본 구문 검사기이므로 flake8, pyflakes 또는 pylint의 버그 일 가능성이 큽니다. –

답변

4

이 두 메시지는 pylint에서 온 것입니다. pylint --help-msg=$ID 또는 http://pylint-messages.wikidot.com/으로 자세한 설명을 볼 수 있습니다.

으로 수표를 사용 중지 할 수 있습니다.from django.core.urlresolvers import reverse # pylint: disable=F0401하지만 꽤 귀찮습니다.

E1101을 확실하게 고칠 수있는 pylint plugin for Django이 있습니다 (또한 F0401도 희망합니다). 어쩌면 플러그인을 설치하고 Syntastic을 사용하도록 구성 할 수 있습니까?

+0

멋진 제안 이었지만 나에게 도움이되지 못했습니다. 적어도 가상 환경 내에서. – logc

5

@의 supervacuo의 대답에 편승하는 것은 :

이 syntastic에 대한 작업이 얻을 수있는 방법이며, syntastic 옵션 (예를 들어, 같은 날)에 익숙하지 않은 사람을 파악하기 쉽지 않은 경우는 오히려 간단합니다 :

환경

에 설치 될이 pylint-django 요구하는 것은 물론

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

: 당신의 .vimrc에

이 줄을 추가