未知
django-versioned-static的Python项目详细描述
当你需要缩小时,这个小应用程序有助于管理你的静态文件。 供生产使用。此外,它还能够对资产进行版本控制。 因此,每当您需要更改静态文件时,将不会向用户提供 浏览器缓存中的旧文件。
安装
标准Django路:
pip install django-versioned-static
添加到您的INSTALLED_APPS:
INSTALLED_APPS = ( .. .., 'versioned_static', ... )
配置资产本身:
STATICS_ASSETS = { 'css': { 'css/mycoolproject.css': { 'media': ('screen', 'projection', 'tv'), 'files': ('css/jquery-ui-1.8.18.custom.css', 'css/style.css',), 'version': 1 }, 'css/print.css': { 'media': ('print',), 'files': ('css/print.css',), 'version': 1 } }, 'js': { 'js/mycoolproject.js': { 'files': ('js/jquery-1.7.1.min.js', 'js/main.js'), 'version': 1 } } }
完成!
模板中的用法
很简单。使用asset模板标记。给它一个静态类型(css或js) 以及基本css别名。它将直接为您生成所有必需的html:
{% load versioned_static_tags %} {% asset "css" "css/mycoolproject.css" %} {% asset "css" "css/print.css" %} {% asset "js" "js/mycoolproject.js" %}
它接受您在帐户中的设置。在开发中(当DEBUG = True), 将为您提供未版本化和未统一的静态文件。当你转身 调试关闭后,将为您提供版本化的资产链接。
result,debug=true:
<link type="text/css" rel="stylesheet" href="/static/css/jquery-ui-1.8.18.custom.css" media="screen,projection,tv"/> <link type="text/css" rel="stylesheet" href="/static/css/style.css" media="screen,projection,tv"/> <link type="text/css" rel="stylesheet" href="/static/css/print.css" media="print"/> <script type="text/javascript" src="/static/js/jquery-1.7.1.min.js"></script> <script type="text/javascript" src="/static/js/main.js"></script>
result,debug=false:
<link type="text/css" rel="stylesheet" href="/static/css/mycoolproject.1.css" media="screen,projection,tv"/> <link type="text/css" rel="stylesheet" href="/static/css/print.1.css" media="print"/> <script type="text/javascript" src="/static/js/mycoolproject.1.js"></script>
缩小文件
此应用程序具有简单的管理命令,可帮助您创建 用于生产的文件。用法如下:
django-admin.py minifystatics [(CSS/JS) ASSET_FILE]
前一个场景的真实示例:
django-admin.py minifystatics css css/print.css
如果要在应用程序设置中生成所有文件,只需运行命令 没有任何参数:
django-admin.py minifystatics
默认情况下,该命令将查找您的STATIC_ROOT(因此请确保 在minify命令之前运行collectstatic),并将其用作根路径。
注释
django版本的static在内部使用yui库来缩小css/js资产。