【问题标题】:Django seems to be stripping html when I try and insert it into a mysql database?当我尝试将其插入 mysql 数据库时,Django 似乎正在剥离 html?
【发布时间】:2016-01-20 23:23:57
【问题描述】:

我觉得这很奇怪。当我尝试将数据插入数据库时​​,它会删除除<p> html 标签之外的所有标签?!

我尝试插入的示例文本:

<p>Facebook This link should show up... Facebook&nbsp;Facebook&nbsp;CHANGE&nbsp; <a href="http://www.f.com" target="_blank">CHAN</a></p>

我在提交之前将上述文本打印到控制台,如下所示:

print job

if commit:
    job.save()

return job

然后当我进入我的mysql 并查看插入的内容时,我得到以下信息:

<p>Facebook This link should show up... Facebook Facebook CHANGE CHAN</p>

如您所见,它已去除 &lt;a href='http://www.f.com 并将文本留在 &lt;a 标记 (CHAN) 内。

任何想法为什么会发生这种情况?似乎很奇怪,由于某种原因,html 被剥离了。

【问题讨论】:

  • 您需要提供更多详细信息。这个job 是模型实例吗?你能告诉我们模型类声明吗?您将该 html 分配给哪个字段?您是否尝试在控制台中手动分配此文本?例如:job.html_field = '&lt;p&gt;Facebook ......&lt;/p&gt; 然后job.save() ?
  • 等一下试试,如果还是strip掉,那一定是mysql的问题。尝试后将使用模型更新答案。 @Ramast
  • @Ramast - 我回答了我自己的问题。原来我用的是django-bleach

标签: mysql django


【解决方案1】:

原来我有一个来自Django-bleach BleachField() 并且它的设置不允许Links!所以我不得不进入我的settings.py 来更改它们。

我是Django 的新手,正在开发一个包含大量代码的预构建项目!所以很难找到。

无论如何,请查看此链接以了解更多信息:Django admin: allowing some HTML in user input

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-30
    • 1970-01-01
    • 1970-01-01
    • 2020-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多