LoginSignup
5
2

More than 5 years have passed since last update.

Django上で動くlint-pluginを作ってみた

Last updated at Posted at 2018-03-07

背景

Djangoは開発中runserverでサーバーを立ててやっていると、コードの変更がある時それに合わせて自動でサーバーを再起動してくれて非常に便利ですが、これに合わせてlintしてくれるやつがあるかなーと思ったらなかったので作って公開しました。

commandでlintしてくれるのはありますが、欲しいのはcommandではなくhookで再起動に合わせて自動でlintしてくれるやつです。

こんな感じで開発サーバーに起動に合わせて自動でlintしてくれます。

Screen Shot 2018-03-07 at 19.45.27.png

レポジトリは以下になります。
https://github.com/t-hiroyoshi/django-lint2
https://pypi.org/project/django-lint2/

使い方

pipでlint2と内部で利用しているflake8をインストールします。

pip install flake8 django-lint2

次に、Djangoで読み込むためにsettings.pyINSTALLED_APPSにlint2を追加します。

settings.py
INSTALLED_APPS = (
  ...,
  'lint2',
)

これだけでもrunserverすればlintが働いて、コードチェックをしてくれますがflake8の設定もできるようにしてあります。

settings.py
LINT2 = {
  'max_line_length': 120,
}

settings.pyにこんな感じでflake8のoptionsを書いていただければ、適用されるようになっています。

将来的にはflake8のみでなくいろんなlinterに対応していきたいですね。

もしよければ便利なので使ってみてください、コントリビュートお待ちしております。

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2