- Django のリンター djLint を使ってみたい
- 設定方法をサクッと知りたい
djLint は Django でフォーマッター兼リンターとして使える便利なライブラリです。
つまり Django HTML テンプレートの問題点の指摘や、コードを自動的に整形してくれる機能があります。
個人開発ではもちろん、チームで開発している場合には細かいコーディングルールを決めなくてよくなるのは大きなメリットかと思います。
デフォルト設定ではちょっと使いづらい部分もあるので、その辺のカスタマイズも含めてご紹介します。
djLint のインストール方法
djLint のインストールは、次のコマンドで行います。
pip install djlint
poetry をお使いの場合には、以下のコマンドです。
poetry add --dev djlint
djLint は開発環境でのみ使う方が多いと思いますので、--dev
オプションをつけています。
本番環境へのインストール時に以下のコマンドを実行することで、–dev オプションをつけたライブラリはインストールされなくなります。
poetry install --no-dev
セキュリティ上の理由などから、本番環境では必要最低限の構成にしてデプロイすることが推奨されます。
Visual Studio Code で djLint を使いこなす
Visual Studio Code で設定を行うと、フォーマッター・リンターともに自動実行してくれるので非常に便利です。
少し設定が面倒ではあるので、順番に解説していきます。
settings.json の設定
まずは、以下の手順で settings.json を開きます。
- 左下にある歯車アイコン(設定)をクリック
- 「設定」を選択
- 右上の「ファイルアイコン(設定を開く(JSON))」をクリック
続いて、以下の内容を追記してください。
{
"": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
},
"html.format.enable": false,
"emmet.includeLanguages": {
"django-html": "html"
}
}
続いて、tasks.json として以下を追加します。
{
"label": "djlint",
"type": "shell",
"command": "djlint",
"args": ["--reformat", "${file}"],
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"reveal": "always",
"panel": "shared"
}
}
これで設定は完了です。
コマンドラインから djLint を実行する方法
あまり使うことはないかもしれませんが、コマンドラインから djLint を呼び出して実行する方法をご紹介します。
リンターを実行する方法
リンターで品質チェックをするには、以下をコマンドライン上で実行します。
# 特定ディレクトリ内に対してリンターを実行
djlint /path/to/templates --lint
# 特定ファイルに対してリンターを実行
djlint /path/to/this.mustache --lint
フォーマッターで整形する方法
フォーマッターで整形をかける場合には、以下をコマンドラインで実行します。
# 特定ディレクトリ内に対してフォーマッターを実行
djlint /path/to/templates --reformat
# 特定ファイルに対してフォーマッターを実行
djlint /path/to/this.mustache --reformat
リンターとフォーマッターを同時に適用する方法
リンターとフォーマッターを一度にかける場合には、オプションを組み合わせて実行してください。
# 特定ディレクトリ内に対してリンターとフォーマッターを実行
djlint /path/to/templates --lint --reformat
# 特定ファイルに対してリンターとフォーマッターを実行
djlint /path/to/this.mustache --lint --reformat
どのようなフォーマットがかかるかを確認するには、次のコマンドを実行します。
# フォーマット内容をチェック
djlint . --check
コメント