带有django.forms.media附加属性的脚本标记

django-js-asset的Python项目详细描述


https://travis-ci.org/matthiask/django-js-asset.svg?branch=master

用法

使用此项通过forms.Media插入包含附加 属性(如csp兼容数据的iddata-*) 注射。):

fromjs_assetimportJSforms.Media(js=[JS("asset.js",{"id":"asset-script","data-answer":"42",}),])

呈现的媒体标记(通过{{ media.js }}{{ media }}将 现在包含一个脚本标记,如下所示,没有换行符:

<scripttype="text/javascript"src="/static/asset.js"data-answer="42"id="asset-script"></script>

属性将自动转义。数据属性现在可能是 在asset.js中访问:

varanswer=document.querySelector("#asset-script").dataset.answer;

另外,因为static的实现在受支持的 Django版本(旧版本不接受 django.contrib.staticfilesINSTALLED_APPS帐户中),a js_asset.static函数的作用是正确的 自动。

添加外部脚本资源时,应将static=False传递给 对象JS,以避免通过static()传递脚本url。 在本例中,您可能需要添加deferasync,并且 还有integritycrossorigin属性。请注意 布尔属性不受正确支持,请将其指定为 如下:

JS(
    "https://cdn.example.com/script.js",
    {"defer": "defer"},
    static=False,
)

兼容性

在编写本应用程序时,它与django 1.7兼容,并且更好 (包括Django Master分公司),但请查看 Travis CI build用于 明确的答案。

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

推荐PyPI第三方库


热门话题
java WebClient请求级别超时抛出名为default onErrorDropped的运算符   java JAXB外部绑定文件错误   Freemarker中的java转义宏参数值   java正在同步来自不同对象{已编辑}的线程   java如何在另一个类上更新活动中的元素   java Hibernate连接查询   java可以使用Apache Crunch创建类似于图形的数据结构吗?   java在JLabel的开头加上3个点   java 安卓应用程序显示线程错误   java@RequestBody在Spring中总是空的   java Android异步任务永远不会结束   具有多个属性的java Jaxws枚举   java中的安卓 Stripe InvalidRequestException   多线程java。util。非多线程程序中的ConcurrentModificationException   Minecraft Java插件如何删除HashMap中存储的所有块   空Java字符串的大小   从AJP连接器请求检索Shibboleth属性的java   oracle11g将Java类文件加载到Oracle数据库