一组模板标记(和mixin!)协助建立支持CSP的网站。

django-csp-helpers的Python项目详细描述


django csp助手PyPI

一组模板标记(和mixin!)帮助建立支持CSP的网站使用 django-csp。在

安装

  1. 在您的INSTALLED_APPS中添加“csp\u helpers”:
INSTALLED_APPS=[...'csp_helpers',]

混音

django csp helpers包括一对mixin,它们可以应用于视图和表单 允许在小部件和表单媒体中使用CSP nonce。在

如何使用

只需将CSPViewMixin添加到视图中,并将CSPFormMixin添加到表单或模型表单中。 您需要同时使用bothmixin,它们不是单独工作的。在

CSPFormMixin

^{pr2}$

CSPViewMixin

fromcsp_helpers.mixinsimportCSPViewMixinfrom.formsimportArticleFormclassArticleUpdateView(CSPViewMixin,UpdateView):form_class=ArticleForm...

仅使用CSPFormMixin

如果您是手动管理表单,或者不使用基于类的视图,您将无法 使用CSPViewMixin。在这些情况下,只需使用csp_nonce作为参数调用表单 手动操作,如下所示。在

form=MyFancyForm(csp_nonce=request.csp_nonce)

它的作用

django csp helpersmixin将以两种方式修改和扩展视图和表单。在

窗体小部件

表单小部件将被修补以将CSP nonce注入到模板的呈现上下文中 小工具。您可以使用窗口小部件模板中的{{ csp_nonce }}来访问它。在

表单媒体

表单媒体(CSS和JS)将包含在CSP nonce中。在

模板标记

django csp helpers还包括一对模板标记

渲染包csp

精确替换django-webpack-loaderrender_bundle标记,包含带有CSP nonce的包。在

{% load render_bundle_csp %}

{% render_bundle_csp 'main' 'css' %}
{% render_bundle_csp 'main' 'js %}

媒体

上面mixin提供的表单媒体功能的一个不太高级的版本。只需加载此标记 并向它传递一个表单,它将包含带有CSP nonces的表单媒体。在

{% load media_csp %}

{# include form media #}
{% media_csp myform %}

许可证

这个软件是在麻省理工学院许可下发布的。在

Copyright (c) 2019-2020 Luke Rogers

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

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

推荐PyPI第三方库


热门话题
java 安卓阻止编译的第三方库的特定网站   java如何使用带回调的send()方法返回元数据?   将双值数组从一个java类传递到另一个java类   java OracleJava7安装程序返回错误代码   smb共享上新创建的Java文件没有用户,也没有组   打印unicode值而不是字符串的Java程序   java将字符串放在括号中的语法意义   java将对象添加到arraylist,除非它已经存在   java正在尝试查找回文数   java如何解决“过时元素引用:导航到上一页时元素未附加到页面文档”   java从无关方法调用超级方法   用于java代码的socket网络设置,以便不同网络/位置上的两台计算机可以使用RMI   用Java字符数组处理C字符数组