【问题标题】:Django/Python: < comes up as &lt; when I import it from the model objectDjango/Python: < 当我从模型对象中导入它时出现 <
【发布时间】:2010-02-14 01:40:02
【问题描述】:

修改后的问题:

在我的 dbms 中,我存储了文字 &lt;&lt;&lt;firefox-image&gt;&gt;&gt;,我在 Navicat 和 Mysql CLI 中确认了它的 &lt;&lt;&lt;firefox-image&gt;&gt;&gt;。当我使用 Python shell 并尝试获取相同的文章条目时,外部的 &lt;&gt; 分别转换为 &amp;lt;&amp;lt;

我的测试片段:

>>> entry = Entry.objects.filter( pub_date__lte = datetime.datetime.now() ).filter(featured=1)[0].excerpt_html
>>> entry
u'<p>\u0432\u0430\u043d.\n&lt;&lt;<firefox-image>&gt;&gt;</p>'

如何让它使用文字 &lt;&gt;




原始问题

在我的模板中我这样做了:

{{ entry.excerpt_html|safe|render_uploads }}

它在render_uploads 抱怨,因为我没有加载管理文件,所以我在前面添加

{% load adminfiles_tags %}

错误消失了,但在我的文章摘录中,它仍然将&lt;&lt;&lt;firefox-image&gt;&gt;&gt; 呈现为&amp;lt;&amp;lt;firefox-image&amp;gt;&amp;gt;

【问题讨论】:

  • “excerpt_html”是什么类型的字段?如果它显然以一种方式存储在数据库中,并且您从 ORM 中得到了不同的东西,那几乎必须是您的 Field 类在进行修改。

标签: python django unicode


【解决方案1】:

我是个笨蛋——我忘记在存储之前调用render_uploads

return markdown(render_uploads(markup))

【讨论】:

    【解决方案2】:

    我无法复制那种症状;每边只有两个小于和大于两个的事实让我想知道您的内联语法是否错误?在您的内容区域中,两边肯定有 3 个吗?

    否则,我想我需要查看更多相关代码。

    【讨论】:

      猜你喜欢
      • 2021-05-03
      • 2018-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多