\ お問い合わせはこちら! /

Django の djLint のセットアップ方法と使い方

  • 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

この記事が気に入ったら
フォローしてね!

シェア・記事の保存はこちら!

この記事を書いた人

karo@プログラマのアバター karo@プログラマ プログラマ

「書くことで人の役にたつ」をモットーに活動中。
本職はプログラマで、Python(Django)が得意。最近ではフロント側の技術に触れる機会も増えてきました。
基本情報技術者試験合格。

コメント

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)