8

我正在使用 Komodo Edit 5.2 来编辑 html 和 Django 模板文件。它总是在我的模板的第一个标签的第一个 {% block %} 区域内显示一个语法错误。

例如:

{% extends "base.html" %}
{% load i18n %}

{% block title %}Hello{% endblock %}

{% block content %}
    <p>Hello</p> <-- Syntax error on this single line
    <p>Other lines have no errors</p>
{% endblock %}

{% block footer %}
    <p>No errors here</p>
{% endblock %}

给出的语法错误是:

Info: <head> previously mentioned

我知道错误与我的标签无关,<head>因为它发生在基本模板和子模板中(并且 IDE 不够聪明,无法在子模板中处理基本模板等)。我的 html 标记已正确关闭,并且所有内容都经过 XHTML 严格验证。

这个论坛帖子提到了一个类似的问题,但没有提供解决方案(并且可能特定于 Smarty 语法突出显示)。

有关如何解决此错误(或禁止显示)的任何想法?

4

5 回答 5

6

是的,这可以修复,但它确实是一种相当丑陋的方法。

我应该指出这是跟踪器# 77251中的一个错误(编辑:这在 Komodo 6.1.0 中已修复)。您可以查看该错误以查找它何时真正得到修复。

至于停止红色波浪线——您可以通过手动编辑 Django 模板 HTML 的 python 语言文件来做到这一点。您要编辑的文件是koDjango_URL_Language.py,并且可以在 中找到..ActiveState Komodo Edit 5\lib\mozilla\extensions\django_language@ActiveState.com\components

将以下覆盖方法添加到class KoDjangoLanguage

def get_linter(self):
    return None

请注意,这假设您将 django 模板文件保存为 .django.html(如果您没有,请注意,这样做会提供模板标签语法着色,这有点好)。编辑文件后,保存并重新加载 Komodo,问题应该会消失。

据我了解,每当您升级 Komodo 版本时,都需要重新编辑此文件。希望我们能尽快看到整个问题得到解决,并且在每个人最喜欢的 IDE 中对 Django 的支持都得到更好的支持。

于 2010-01-11T02:41:47.880 回答
2

如果您主要从事 Django 项目,您可以更改 Komodo 对 *.html 文件的默认处理方式,方法是编辑 Preferences > File Associations 并将 *.html 的关联更改为“Django”(例如,通常是 *.django .html)。这将使您不必重命名所有模板文件。

为了摆脱弯曲的红线,我使用了一个自定义的 Tidy 配置文件,可以在配置文件选择器中的 Preferences > Languages > HTML 下指定。这个文件的内容很简单:

显示警告:n

这有点像 hack,因为它也会抑制合法的 HTML 警告。然而,在 Komodo/Tidy 原生支持 Django 模板标签之前,它对我有用。

于 2010-01-17T14:29:54.603 回答
2

如果您正在寻找一种仅隐藏波浪线的方法,而不是摆弄 HTML Tidy 配置,请尝试以下操作。在首选项>字体和颜色中,选择“指标”选项卡。在指标选择器中有一个名为“Linter error”的条目。将样式“隐藏”分配给它,波浪线将被隐藏。状态行仍将显示 linter 信息。这是在 Linux 上的 Komodo Edit 5.2.4 上测试的。

于 2010-03-18T12:32:51.593 回答
1

与将模板文件重命名为 *.django.html 并使用通用视图一样,您可能会遇到 TemplateDoesNotExist 异常,因为 django 仅查找 *_list.html 等,就我而言。

编辑:此外,在重命名所有模板时,不要忘记将所有模板重命名 {% extends *.html %}{% extends *.django.html %}适当的名称。

于 2010-04-27T09:40:16.520 回答
0

在编辑 Django 模板时,我总是禁用 HTML 错误检查,因为您可能已经意识到它们不是完全有效的 HTML。我不确定这是否可以为 Komodo Edit 完成,但我知道它可以为 Komodo IDE 完成,所以人们可能会认为它们在这方面是相似的。无论如何,恐怕这个解决方案有点烦人;您需要为您编辑的每个文件禁用它(我不知道如何全局执行此操作)...

我现在不在我的工作电脑上,但如果我没记错的话,窗口框架底部有一个图标,您可以右键单击它来编辑属性。深埋在那里应该有一个禁用HTML语法检查的选项。

如果您找不到该选项,请告诉我,我会尽力填补空白。

于 2010-01-11T02:26:07.077 回答