背景
Djangoは開発中runserver
でサーバーを立ててやっていると、コードの変更がある時それに合わせて自動でサーバーを再起動してくれて非常に便利ですが、これに合わせてlintしてくれるやつがあるかなーと思ったらなかったので作って公開しました。
commandでlintしてくれるのはありますが、欲しいのはcommandではなくhookで再起動に合わせて自動でlintしてくれるやつです。
こんな感じで開発サーバーに起動に合わせて自動でlintしてくれます。
レポジトリは以下になります。
https://github.com/t-hiroyoshi/django-lint2
https://pypi.org/project/django-lint2/
使い方
pipでlint2と内部で利用しているflake8をインストールします。
pip install flake8 django-lint2
次に、Djangoで読み込むためにsettings.py
のINSTALLED_APPS
にlint2を追加します。
settings.py
INSTALLED_APPS = (
...,
'lint2',
)
これだけでもrunserver
すればlintが働いて、コードチェックをしてくれますがflake8の設定もできるようにしてあります。
settings.py
LINT2 = {
'max_line_length': 120,
}
settings.py
にこんな感じでflake8のoptionsを書いていただければ、適用されるようになっています。
将来的にはflake8のみでなくいろんなlinterに対応していきたいですね。
もしよければ便利なので使ってみてください、コントリビュートお待ちしております。