资产弯曲器的django运行时实现
asset_bender的Python项目详细描述
##用法:
首先,确保已安装asset_bender:https://github.com/hubspot/asset_bender/tree/master
其次,确保在
设置中设置了“proj_name”、“proj_dir”、“bender_s3_domain”和“bender_cdn_domain”。` proj_name`应该与static_conf.json中的名称匹配,`proj_dir`需要指向python
模块路径(通过类似于'proj_dir=dirname(realpath(u file_uu))`)。
“bender\u s3\u域”是指向s3 bucket的域,“bender\u cdn\u域”是s3前面的cdn域(如果有)。
确保在清单中包含了这些行。in:
global include static_conf.json
global include pre-build_recursive_static_conf.json
next,在应用程序的上下文处理器中,请执行以下操作:
``python
from django.template import request context
from asset懔bender.bundling import bender asset s
def my懔u context懔处理器(请求):
context=requestcontext(请求)
bender懔assets=benderassets([
'my懔project/static/js/my懔project懔bundle.js,
'my_project/static/css/my_project_bundle.css',
'some_library/static/js/some_library_bundle.js',
'some_library/static/css/some_library_bundle.js'
…等等……
],请求。获取)
context.update(bender_assets.generate_context dict())
return context
`````
>最后,在基本模板中,需要包含以下模板:
``html
<;head>;
…
{%包括“asset_bender/scaffold/head.html”%}
…
<;/head>;
<;body>;
……
{%包括“asset_bender/scaffold/end_of_body.html”%}
<;/body>;
`````
使用模板标记:
```
{%load asset_bender_tag s%}
{%bender_url“project_name/static/js/my file.js”%}
````
该标记将输出具有正确域和版本号的完整url(由该项目的依赖项指定)。
首先,确保已安装asset_bender:https://github.com/hubspot/asset_bender/tree/master
其次,确保在
设置中设置了“proj_name”、“proj_dir”、“bender_s3_domain”和“bender_cdn_domain”。` proj_name`应该与static_conf.json中的名称匹配,`proj_dir`需要指向python
模块路径(通过类似于'proj_dir=dirname(realpath(u file_uu))`)。
“bender\u s3\u域”是指向s3 bucket的域,“bender\u cdn\u域”是s3前面的cdn域(如果有)。
确保在清单中包含了这些行。in:
global include static_conf.json
global include pre-build_recursive_static_conf.json
next,在应用程序的上下文处理器中,请执行以下操作:
``python
from django.template import request context
from asset懔bender.bundling import bender asset s
def my懔u context懔处理器(请求):
context=requestcontext(请求)
bender懔assets=benderassets([
'my懔project/static/js/my懔project懔bundle.js,
'my_project/static/css/my_project_bundle.css',
'some_library/static/js/some_library_bundle.js',
'some_library/static/css/some_library_bundle.js'
…等等……
],请求。获取)
context.update(bender_assets.generate_context dict())
return context
`````
>最后,在基本模板中,需要包含以下模板:
``html
<;head>;
…
{%包括“asset_bender/scaffold/head.html”%}
…
<;/head>;
<;body>;
……
{%包括“asset_bender/scaffold/end_of_body.html”%}
<;/body>;
`````
使用模板标记:
```
{%load asset_bender_tag s%}
{%bender_url“project_name/static/js/my file.js”%}
````
该标记将输出具有正确域和版本号的完整url(由该项目的依赖项指定)。