代码之家  ›  专栏  ›  技术社区  ›  Lance McNearney

Komodo edit 5.2 django模板语法错误-信息:<head>前面提到

  •  8
  • Lance McNearney  · 技术社区  · 15 年前

    我使用KomodoEdit5.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是否严格。

    这个 forum post 提到了一个类似的问题,但没有提供解决方案(可能是专门针对智能语法突出显示)。

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

    5 回复  |  直到 13 年前
        1
  •  6
  •   Sridhar Ratnakumar    13 年前

    是的,这是可以解决的,但这确实是一个相当丑陋的方法。

    我应该指出这是跟踪程序中的一个bug# 77251 ( 编辑 :这在Komodo 6.1.0中是固定的)。你可以观察这个bug,在它真正被修复的时候找到它。

    至于停止红色弯曲的行,您可以通过手动编辑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。

        2
  •  2
  •   Daniel Swarbrick    15 年前

    如果您主要处理django项目,可以通过编辑首选项>文件关联并将*.html的关联更改为“django”(例如,通常用于*.django.html),更改Komodo对*.html文件的默认处理。这将使您不必重命名所有模板文件。

    为了摆脱弯弯曲曲的红线,我使用了一个自定义的整洁配置文件,可以在配置文件选择器的“首选项”下的“语言”下指定该文件。这个文件的内容很简单:

    显示警告:n

    这是一个有点黑客,因为它也将禁止合法的HTML警告。但是,在Komodo/Tidy本机支持django模板标记之前,它对我有效。

        3
  •  2
  •   Joor Loohuis    15 年前

    如果您正在寻找一种方法来隐藏这些蠕动的行,而不是随意摆弄HTML整洁的配置,请尝试以下操作。在“首选项”>“字体和颜色”中,选择“指示器”选项卡。在指示器选择器中有一个名为“linter error”的条目。将样式“hidden”指定给它,斜线将被隐藏。状态线仍将显示过梁信息。这是在Linux上的KomodoEdit5.2.4上测试的。

        4
  •  1
  •   mamachanko    14 年前

    与将模板文件重命名为*.django.html和使用通用视图一样,您可能会遇到模板不存在的异常,因为django只查找*\u list.html等我所关心的内容。

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

        5
  •  0
  •   Nick Bolton    15 年前

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

    我现在不在我的工作电脑上,但是如果内存对我有用,在窗口框架的底部有一个图标,你可以右键单击它来编辑属性。在这里应该有一个禁用HTML语法检查的选项。

    如果你找不到选择,那就告诉我,我会尽力填补空白。