django secure input提供自定义表单字段来呈现所见即所得编辑器,而不是常规的文本区域。它也帮你清理html。由于它的超级安全默认值,您不想修改它的白名单规则。

django-secure-input的Python项目详细描述


让你的用户在你的文本区域中输入HTML,而不会失去任何睡眠。 django secure input清理用户的输入,并且只允许一些标记 解释为HTML并转义其余部分。默认情况下,不允许使用<;脚本>;标记。

Build Status :target: https://secure.travis-ci.org/rochapps/django-secure-input

要求/安装

django安全输入需要python 2.6-2.7或3.2+。它还要求django>;=1.4 还有漂白剂。

安装django secure input最简单的方法是使用pip

pip install django-secure-input

将其添加到您的安装应用程序:

INSTALLED_APP += ('secure_input')

字段

在您的表单中使用我们提供的自定义表单字段之一,您就可以全部设置。

SafeCharFieldInput
Textarea that allows saving html.
WYSIWYGField
wysiwyg widget
MiniWYSIWYGField
wysiwyg widget (limiited tools)

默认设置

提供的默认值 通过我们的验证方法可以覆盖,设置您自己的覆盖 您的settings.py文件:

ALLOWED_TAGS: Tuple of allowed tags, for example: (‘p’, ‘h2’, ‘h3’).

ALLOWED_STYLES: Tuple of inline style allowable in your html, for
example: (‘font’, ‘font-size’, ‘color’).
ALLOWED_ATTRIBUTES: A dict of tags -> attributes, for example:
{‘a’: [‘href’, ‘title’], ‘*’: [‘class’]}

示例

开始使用自定义字段的最简单方法:

from django import forms
from secure_input.fields import MiniWYSIWYGField

class MySecureForm(forms.ModelForm):
    text = MiniWYSIWYGField()

    class Meta:
        model = MyModel

模板

确保在模板中包含以下css和js文件 正在呈现您的表单。

在模板{{form.media.css}}中:

- <link href="{{ STATIC_URL }}secure_input/bootstrap/css/bootstrap.css" rel="stylesheet" type="css/text">
- <link href="{{ STATIC_URL }}secure_input/font-awesome/css/font-awesome.css" rel="stylesheet" type="css/text">
- <link href="{{ STATIC_URL }}secure_input/css/basicEditor.css" rel="stylesheet" type="css/text">

以及{{form.media.js}}:

- <script src="{{ STATIC_URL }}secure_input/js/libs/jquery.js" type="text/javascript"></script>
- <script src="{{ STATIC_URL }}secure_input/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
- <script src="{{ STATIC_URL }}secure_input/bootstrap-wysiwyg/external/jquery.hotkeys.js" type="text/javascript"></script>
- <script src="{{ STATIC_URL }}secure_input/bootstrap-wysiwyg/bootstrap-wysiwyg.js" type="text/javascript"></script>
- <script src="{{ STATIC_URL }}secure_input/js/plugin.js" type="text/javascript"></script>

最后,需要初始化js插件:

$("#commentForm").secureInput();

文档

有关使用django安全输入的其他文档,请参见 Read The Docs

运行测试

您可以使用via运行测试:

python setup.py test

或:

python runtests.py

许可证

Django安全输入是根据BSD许可证发布的。见 LICENSE文件了解更多详细信息。

贡献

如果你认为你发现了一个bug或者对这个项目感兴趣 签出django-secure-input on Github

RochApps, LLC赞助的开发。

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

推荐PyPI第三方库


热门话题
尝试通过java驱动程序连接时,mongodb服务器上的SSLhandshake失败   使用PlayFramework的Azure网站中的java Logback   java在另一个ArrayList中使用ArrayList处理复杂的JSON响应   java无法在另一台机器上运行eclipse tomcat中的war文件   java GZIPOutputStream有什么替代方案吗?   java Nashorn调试在Nashorn中运行的javascript   java文本短信未发送,即使toast显示已发送   java Hibernatesearch 5.0 spatial不确定是否在散列中存储lat/lon   java我想创建一个带有文本视图的计数器   java安卓:如何正确地同步资源   java使用mockito。当不知道方法调用的参数时   firebase Java使用HTTP v1发送错误字符的中文通知   java Hibernate无法映射到表?   java使用对象映射器解析复杂JSON   java Selenium Grid 2并行测试用例执行   java所有项目在列表视图中重复