2014-10-07 59 views
0

首先,看一下这个代码:Django的怪异行为

... 
<p class="entry-content">{{ entry.content|safe }}</p> 
... 

的问题是它呈现的东西是这样的:

... 
<p class="entry-content"></p> 
{{ entry.content|safe }} 
... 

然而,当我使用div标签,而不是p一切正常。

为什么会发生,并且有没有办法解决它没有JavaScript?

编辑:当{{ entry.content }}具有像div这样的块标签时出现问题。
EDIT2:在控制台中一切正常。该问题仅在浏览器中发生。

+2

我认为这是一个html问题(不匹配打开/关闭标签),而不是一个django的事情,请将您的entry.content添加到文章 – 2014-10-07 06:41:04

+0

@HeddevanderHeide没有安全过滤器它显示罚款。我之前正在使用JavaScript修复它。 – ivknv 2014-10-07 06:42:10

+0

所以请直接从页面源代码中添加不正确的html片段 – 2014-10-07 06:43:13

回答

0

我想我想通了。
事实证明,p标记不能包含块元素。
我在这里找到:Python lxml changes tag hierarchy?

的解决方案是使用div而不是p,一切都会好起来的。