使PYSCS在Django中的使用更加容易。

django-pyscss的Python项目详细描述


Django Pyscss

在django中使用pyscss的工具集合。

Build StatusCoverage Status

注意

此版本仅支持PysCS1.3.4及更高版本。对于PYSCS1.2支持, 您可以使用django pyscss的1.x系列。

安装

django pyscss支持django 1.4+,以及pythons 2和3。

您可以在pypi之外安装django pyscss:

pip install django-pyscss

为什么我们需要这个?

在django处理pyscs时,这个应用程序可以处理很多事情。它

  • 覆盖导入系统以使用django的staticfiles应用程序。你这边走 可以从任何应用程序(或通过 无需麻烦。
  • 将pyscss配置为与staticfiles应用程序一起使用其映像函数 (例如内联图像和精灵地图)。
  • 它提供了一个django压缩器预编译过滤器类,这样您就可以 在Django压缩机上轻松使用PYSCS,无需对 炮弹。这还有一个额外的好处,即不需要配置pyscs 通过它的命令行参数 以及PysCss发出的气泡到您的进程的警告,以便您可以 实际上知道发生了什么。

手动渲染SCS

您可以从如下字符串中手动渲染SCS:

fromdjango_pyscssimportDjangoScssCompilercompiler=DjangoScssCompiler()compiler.compile_string(".foo { color: green; }")

您可以从如下文件中渲染SCS:

fromdjango_pyscssimportDjangoScssCompilercompiler=DjangoScssCompiler()compiler.compile('css/styles.scss')

文件需要能够被staticfiles finders定位,以便 使用。

DjangoScssCompiler类是scss.Compiler的一个子类 注入DjangoExtensionDjangoExtension是重写 导入机制。

DjangoScssCompiler还默认打开compassextension,如果 希望关闭此功能,请执行以下操作:

fromdjango_pyscssimportDjangoScssCompilerfromdjango_pyscss.extensions.djangoimportDjangoExtensioncompiler=DjangoScssCompiler(extensions=[DjangoExtension])

有关DjangoScssCompiler接受的选项列表,请参见 PyscssAPI documentation

与django压缩机一起使用

Django Pyscs附带对Django压缩机的支持。你要做的就是 将其添加到您的COMPRESS_PRECOMPILERS设置中。:

COMPRESS_PRECOMPILERS=(# ...('text/x-scss','django_pyscss.compressor.DjangoScssFilter'),# ...)

然后你就可以像正常使用css一样使用scss。:

{%compresscss%}<linkrel="stylesheet"type="text/x-scss"href="{%static'css/styles.css'%}">{%endcompress%}

如果希望提供自己的编译器实例(例如 更改DjangoScssCompiler上的某些设置,可以对 DjangoScssFilter。:

# myproject/scss_filter.pyfromdjango_pyscssimportDjangoScssCompilerfromdjango_pyscss.compressorimportDjangoScssFilterclassMyDjangoScssFilter(DjangoScssFilter):compiler=DjangoScssCompiler(# Example configurationoutput_style='compressed',)# settings.pyCOMPRESS_PRECOMPILERS=(# ...('text/x-scss','myproject.scss_filter.MyDjangoScssFilter'),# ...)

运行测试

您可以通过运行来运行测试。

$ python setup.py test

请注意,这将自动收集到tmp/static/中 有些测试要求收集静态文件。

更改日志

2.0.2(2015-04-29)

  • 修复了相对导入的错误[34,35 r1chardj0n3s]

2.0.1(2015-04-23)

  • 显式地依赖于pathlib,而不是假设pyscs将需要它。[33]
  • 修复了调试为false但尚未运行CollectStatic的情况(测试中常见)。

2.0.0(2015-04-22)

  • 增加了对PysCS1.3和Python3的支持。
  • 放弃对PysCSS 1.2的支持

升级路径

如果你只是使用django压缩机集成,你不必 升级任何东西。

如果您直接使用DjangoScss类,它将被替换为 DjangoScssCompiler类。编译css的api已更改为 好吧,例如,要从字符串编译,以前您会像 这个:

>>>fromdjango_pyscss.scssimportDjangoScss>>>compiler=DjangoScss()>>>compiler.compile(".foo { color: red; }")

现在的界面是这样的:

>>>fromdjango_pyscssimportDjangoScssCompiler>>>compiler=DjangoScssCompiler()>>>compiler.compile_string(".foo { color: red; }")

您在pyScss API documentation上阅读了有关新api的更多信息。

1.0.0-2014年2月11日

发布了django pyscss。

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

推荐PyPI第三方库


热门话题
java创建猜谜游戏程序   JavaWebSocketContainer。connectToServer似乎挂起了   如何在java中中断函数   java c#socket client multiple BeginSend()未到达服务器   不可见的组件然后在Java中的窗格之间切换   java在应用程序类中使用静态接口安全吗?   java等待函数完成,直到回调到来   使用DataOutputStream时的java新行,Android   java服务对象的定义是什么?   基于视图的javahibernate复合密钥   java将varchar连接到char在JPA(oracle)中不起作用   如何在java中通过point类读取多个点?