在django中使用sass的最简单方法。纯python,最小依赖性,不需要特殊配置!

django-sass的Python项目详细描述


django sass

对django使用Sass的绝对最简单的方法。 纯python,最小依赖性,不需要特殊配置。

Source code on GitHub

安装

  1. 从PIP安装。
pip install django-sass
  1. 添加到您的INSTALLED_APPS(您只需要在开发环境中执行此操作, 您不希望在生产设置文件中包含此项,尽管它添加了零 间接费用:
INSTALLED_APPS=[...,'django_sass',]
  1. 恭喜,您完成了

用法

在应用程序的静态文件中,正常使用s as s。唯一的区别是 可以在@import语句中使用../向上遍历not。例如:

app1/
|- static/
   |- app1/
      |- scss/
         |- _colors.scss
         |- app1.scss
app2/
|- static/
   |- app2/
      |- scss/
         |- _colors.scss
         |- app2.scss

app2.scss中,可以引用app1和app2的_colors.scss导入,因此:

@import'app1/scss/colors';@import'app2/scss/colors';// Or since you are in app2, you can reference its colors with a relative path.@import'colors';

然后编译app2.scss并将其放到css目录中, 运行以下管理命令(-g将构建一个源映射 有助于调试css):

python manage.py sass app2/static/app2/scss/app2.scss app2/static/app2/css/app2.css -g

或者,可以将整个scss目录编译到 对应的css目录。这也将遍历所有子目录:

python manage.py sass app2/static/app2/scss/ app2/static/app2/css/

在django html模板中,正常引用css文件:

{% load static %}
<linkhref="{% static 'app2/css/app2.css' %}"rel="stylesheet">

恭喜你,你现在是django+sass的开发者了!

现在您可以将这些css文件提交给版本控制,或者运行collectstatic并正常部署它们。

有关项目布局的示例,请参见此存储库中的testproject/

监视模式

要让django-sass监视文件并在它们更改时重新编译它们(在开发中很有用)。 添加--watch标志。

python manage.py sass app2/static/app2/scss/ app2/static/app2/css/ --watch

示例:将压缩css部署到生产环境中

要编译缩小的css,请使用-t标志指定压缩级别(其中之一: “展开”、“嵌套”、“压缩”、“压缩”)。默认值是“expanded”,即 是人类可读的。

python manage.py sass app2/static/app2/scss/ app2/static/app2/css/ -t compressed

如果需要,现在可以选择将css文件提交给版本控制, 或者忽略它们,任何更适合你需要的东西。然后正常运行collectsatic

python manage.py collectstatic

现在继续正常部署文件。

限制

  • ^ {}语句必须引用相对于STATICFILES_FINDERS中路径的路径 (通常是应用程序的static/目录或指定的其他目录 在STATICFILES_DIRS)中。或者它们可以引用一个相对路径,该路径等于或小于 当前文件。它不支持遍历文件系统(即../)。

    合法进口:

    @import'file-from-currdir';@import'subdir/file';@import'another-app/file';

    非法导入:

    @import'../file';
  • 目前只支持以.scss结尾的文件。

  • 仅支持类似于pysassc-g-p-t选项。理想情况下django-sass将 尽可能类似于pysassc命令行界面。

请随意提交问题或发出请求以改善这些限制。

为什么是Django Sass?

其他包,如django-libsass 还有django-sass-processor, 虽然很好的包,但需要django-compressor,这本身取决于 其他需要编译才能安装的软件包。

  • 如果您只想在开发中使用sass而不想安装不需要的web 依赖关系,那么django-sass就适合你了。
  • 如果不想在生产服务器上部署任何处理器或压缩器, 那么django-sass就是给你的。
  • 如果不想改变引用和服务静态文件的方式, 那么django-sass就是给你的。
  • 如果你想为sass做最简单的安装和设置, django-sass也是给你的。

django sass只依赖于libsass(它为windows、mac和 当然还有django(任何版本)。

更改日志

0.2.0

  • 新功能:-g用于构建源映射的选项(当输入是文件而不是目录时)。

0.1.2

  • 修正:把编译后的css文件写成utf-8。
  • 更改:默认-p精度从5更改为8,以便更好地支持构建引导css。

0.1.1

    < LIQ:在指定文件输出时创建完全文件路径(如果不存在)。

0.1.0

  • 初始版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在构造函数外部添加鼠标侦听器   java如何使用比较器对列表进行排序以正确排序空值?   javajavax。由于javax,邮件“535.7.3身份验证失败”。邮件升级(v1.3.1至v1.5.2)   java将arraylist流到固定的二维数组中并打印?   RecyclerView适配器上的java上下文   java如何为此Twitter API为KafkaProducer建立连接   java Spring安全性重写WebSecurity配置适配器的配置(AuthenticationManagerBuilder)是否会影响全局应用程序?   线程“awteventque0”NullPointerException中的java异常   if条件中的null值和null指针异常java   java树集<Object>允许相同类型的多个对象   java定义类;我认不出   字符串java replaceAll()   JAVAutil。scanner(Java)读取文件时如何跳过空格?   java在swing中关闭flash屏幕   java在Wildfly 16中的应用程序中加载pk12文件   有没有工具可以自动生成屏幕抓取的Java代码   创建意图时,java方法getParcelableExtra()返回null   将数据从java传递到jsp   java Android Studio |永久保存布局