【问题标题】:How to use less css with django?如何在 django 中使用更少的 css?
【发布时间】:2012-01-04 12:06:41
【问题描述】:

我正在使用 twitter bootstrap 和 django。我已经使用 pip 需求文件处理了我的依赖项。

我有 2 个问题:

  1. 如何在开发过程中使用 less,以便在编辑其中一个 less 文件时编译它?
  2. 如何创建某种构建脚本来压缩和组合我的 JS 并从 Less 生成 CSS 作为部署的一部分?

我编写了一个自定义构建脚本,它创建了一个 virtualenv,运行“pip install -r requirements.txt”、django syncdb、django migrate,然后我们就出发了。

将 less 集成到其中的最简单方法是什么?

谢谢

【问题讨论】:

    标签: python django less


    【解决方案1】:
    1. 安装django-static-precompiler

      1. 运行pip install django-static-precompiler
      2. static_precompiler 添加到 INSTALLED_APPS
    2. 安装lessc 可执行文件,通过您的包管理器或运行npm install lessnpm 是节点包管理器,它应该是可发行版安装的,不得已才使用)

    3. 在模板中少用

      1. 加载模板标签{% load less %}
      2. 少用模板标签<link rel="stylesheet" href="{{ STATIC_URL}}{% less "path/to/styles.less" %}" />

    请注意,默认情况下,编译后的文件会保存在您的STATIC_ROOT 下的COMPILED 文件夹中(如果您的设置中没有STATIC_ROOT,则为MEDIA_ROOT)。您可以使用STATIC_PRECOMPILER_OUTPUT_DIR 设置更改此文件夹名称。有关详细信息,请参阅documentation

    我没有亲自尝试,但我知道django-compressor也支持less。

    【讨论】:

    • 我更喜欢 django-compressor 因为它对我有更多帮助,并且可以编译 scss 和 coffeescript
    • 所有应用程序的问题在于它们不监视@include'd 文件的更改...
    • @jpic,这是减少 css 的解决方案:caktusgroup.com/blog/2012/03/05/using-less-django JS 解释器可以在客户端运行,尽管速度很慢。因此,如果 DEBUG=True,您将使用 JS 解释器,这消除了对更改的监控。
    • 当然,这看起来像how I use lesscss and twitter bootstrap nowadays - 其中包括在调试模式下也少!
    • 我是django-less 的作者,我建议使用django-static-precompiler(我也在开发)。它是通用的(Less、SCSS、Coffeescript 等等),它监控包含的文件,并有一个很好的static_precompiler_watch 管理命令。它与django-less 兼容,因此您无需更新代码。
    【解决方案2】:

    所选答案现已过期:不再维护django-less(如its pypi page 中所述),开发人员建议改用django-static-precompiler

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-30
      • 2018-09-22
      • 2013-08-26
      • 1970-01-01
      • 2014-10-17
      • 2015-10-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多