当前位置:  开发笔记 > 编程语言 > 正文

在Django的TextField中禁用HTML转义

如何解决《在Django的TextField中禁用HTML转义》经验,为你挑选了2个好方法。

当我写入模型的TextField时,如何关闭Django的自动HTML转义?



1> bjunix..:

只需使用django的安全过滤器.在您的模板中,您可以执行以下操作:

{{ instance.my_text_field|safe }}


我非正式地称你接受了答案.谢谢!
作为警报,这允许XSS攻击.Javascript标签可用于输入恶意代码.

2> Daniel Vassa..:

一种方法是在模型中放置一个函数,该函数返回标记为安全的数据:

from django.utils.safestring import mark_safe 

class MyModel(models.Model): 
    my_textfield = models.TextField()

    def display_my_safefield(self): 
        return mark_safe(self.my_textfield)

然后在模板中你必须使用:

{{ instance.display_my_safefield }}


如果使用django的安全过滤器,则根本不需要修改模型.
推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有