web-dev-qa-db-ja.com

djangoでより少ないCSSを使用するにはどうすればよいですか?

私はTwitter bootstrapとDjangoを使用しています。依存関係をpip要件ファイルで処理しています。

2つの質問があります。

  1. 開発中にlessをどのように使用すれば、lessファイルの1つを編集したときにコンパイルされますか?
  2. 展開の一部として、JSを圧縮して結合し、LessからCSSを生成するようなビルドスクリプトを作成するにはどうすればよいですか?

Virtualenvを作成し、「pip install -r requirements.txt」を実行するカスタムビルドスクリプトを記述しましたDjango syncdb、Django移行してからオフ私たちは行く。

これにあまり統合しない最も簡単な方法は何ですか?

ありがとう

40
user1037541
  1. インストール Django-static-precompiler

    1. pip install Django-static-precompilerを実行します
    2. static_precompilerをINSTALLED_APPSに追加
  2. インストール lessc 実行可能ファイル、パッケージマネージャーを使用するか、npm install lessを実行します(npmはノードパッケージマネージャー、これはディストリビューションでインストール可能でなければなりません) 、最後の手段で使用)

  3. テンプレートの使用量を減らす

    1. テンプレートタグの読み込み{% load less %}
    2. テンプレートタグの使用を減らす<link rel="stylesheet" href="{{ STATIC_URL}}{% less "path/to/styles.less" %}" />

注意デフォルトでは、コンパイルされたファイルはSTATIC_ROOTの下のCOMPILEDフォルダに保存されます(設定にMEDIA_ROOTがない場合はSTATIC_ROOT) 。このフォルダ名はSTATIC_PRECOMPILER_OUTPUT_DIR設定で変更できます。詳細は documentation を参照してください。

私は個人的には試していませんが、 Django-compressor はそれ以下もサポートしていることを知っています。

43
jpic

選択した回答は古くなっています:Django-lessはメンテナンスされなくなりました( its pypi page で指定されています)。代わりに、開発者は Django-static-precompiler の使用を推奨しています。

15
brianmearns