【问题标题】:weird problem with django templatesdjango模板的奇怪问题
【发布时间】:2009-12-24 23:56:57
【问题描述】:

在处理模板时发生了奇怪的问题:

当模板被渲染时(我猜),在代码中,就在 doctype,正在放置奇怪的字符。我称之为“奇怪” 因为如果我选择它,复制它并尝试粘贴什么都没有粘贴。 只有当我在 webkit 浏览器中“查看源代码”时才能看到这个“点”。

现在,布局中断。

在 Internet Explorer Web 开发人员中检查渲染代码时 工具栏,我已经看到 doctype 也粘贴在 body 标记中,所以我 给人的印象是,开头和结尾的头部标签都是 不知何故被忽视。 (我现在已经检查过了,是的,如果我拿出开合头 我的模板中的标签,这正是发生的事情)。

这是在ie web developer工具栏中呈现的代码: http://i48.tinypic.com/noby81.gif

请帮忙!

【问题讨论】:

  • 嗯,为什么 DOCTYPE 在 BODY 中而不是文件中的第一部分?我不知道这是否与问题有关,但肯定是错误的。
  • 是的,您应该在尝试使用 HTML 之前对其进行清理。
  • 你在说什么奇怪的角色?我在屏幕截图中看不到任何内容。
  • 好吧,如果我不清楚,我很抱歉,但这确实是个问题。在模板 doctype 中是第一行的第一件事。但是当它被渲染时,浏览器似乎完全忽略了打开和关闭“head”标签的实例。很抱歉,我无法提供带有“点”本身的第二张屏幕截图,因为我无法在帖子中放置链接。让我们看看我是否可以发表评论。文档类型前出现奇怪的点:i47.tinypic.com/osu905.png

标签: django templates


【解决方案1】:

也许您看到的是字节顺序标记,或者它的字节反转对应物,零宽度不间断空间。一些文本编辑器将它放在文本文件的开头,以帮助检测文件的编码。您可以使用 od 等工具查看确切的字节序列。

【讨论】:

  • 非常感谢。那真的是BOM。只需在 Komodo Edit 首选项中将其关闭,重新保存文件,现在一切正常。新年快乐!
【解决方案2】:

解决模板中 BOM 问题的最简单方法是将 settings.py 中的 FILE_CHARSET 更改为 'utf-8-sig'

【讨论】:

    【解决方案3】:

    我认为答案很简单。使用 vim 编辑器打开扩展或包含的所有文件 (html)。可能你会在第一行看到一些奇怪的字符。删除它,您的问题就解决了。我不知道这是什么原因,但它解决了问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-06
      • 2011-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多