水龙头管道的Django集成
django-faucet-pipeline的Python项目详细描述
Django水龙头管线
django水龙头管道集成了faucet-pipeline和django。它允许你 透明地引用Django模板中由水龙头管道创建的资产,并使用django.contrib.staticfiles应用程序对其进行操作。在
使用
配置Django和水龙头管道
要在Django中开始使用taucet管道,您需要确保staticfiles和Django_taucet_pipeline应用程序都在settings.py
的INSTALLED_APPS
部分中提到:
INSTALLED_APPS=[…,'django.contrib.staticfiles','django_faucet_pipeline',]
水龙头管道需要配置为写入一个manifest.json
文件,以便与Django集成。默认情况下,
django水龙头管道将在django项目的BASE_DIR
中查找此文件(如指定
通过settings.py
)。您可以使用FAUCET_PIPELINE_MANIFEST
设置自定义搜索路径。在
清单配置需要与Django配置一分为二
注意:设置中的STATIC_URL
必须与清单配置中的baseURI
相同。
另外,所有资产都需要输出到webRoot
,这也需要配置为
STATICFILES_DIRS
在Django。例如,如果要在Django中使用以下配置:
兼容的faucet.config.js
可能如下所示:
module.exports={js:{input:'app/index.js',output:'dist/bundle.js'},manifest:{target:"./manifest.json",key:"short",baseURI:"/static/",webRoot:"./dist"}};
如果django水龙头管道无法读取清单文件,则它将发出一条错误消息,但不会进行检查
您的webRoot和STATICFILES_DIRS
配置是否正确。在
参考资产
为了引用资产,只需使用faucet_pipeline
中的static_faucet
模板标记
图书馆。其行为类似于“standard”static
标记,但会自动扩展规范名称
资产的当前(可能是指纹)名称。在
{% load static_faucet from faucet_pipeline %} <!doctype html><html><head><metacharset="utf-8"><title>Hello World</title></head><body><scriptsrc="{% static_faucet "bundle.js"%}"type="text/javascript"></script></body></html>
调试与生产
django水龙头管道的行为将根据是否设置django设置DEBUG
而改变
不管是真是假。如果启用了调试模式,则在呈现模板时将重新读取清单文件。
在生产中,您应该将DEBUG
设置为False
,在这种情况下,manifest.json
将首先被读取一次
访问,然后无限期缓存。在
- 项目
标签: