Komodo Edit 5.2 синтаксическая ошибка шаблона Django-информация: ранее упоминалось

Я использую 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 strict.

этой сообщение на форуме упоминает аналогичную проблему, но не предлагает решения (и может быть специфичным для подсветки синтаксиса Smarty).

любые идеи о том, как устранить эту ошибку (или отключить ее показали)?

5 ответов


Да, это можно исправить, но это действительно довольно уродливый метод.

Я должен отметить, что это ошибка, которая находится в трекере #77251 (редактировать: это исправлено в Komodo 6.1.0). Вы можете посмотреть эту ошибку, чтобы найти, когда она действительно будет исправлена.

что касается остановки красных волнистых линий - вы можете сделать это, отредактировав файл языка python для шаблона Django HTML вручную. Файл, который вы хотите редактировать 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 как .Джанго.html (который на боковой ноте, если у вас нет, делает это обеспечивает синтаксическую раскраску шаблона-тега, что довольно приятно). После редактирования файла сохраните и перезагрузите Komodo, и проблема должна исчезнуть.

из того, что я понимаю, этот файл необходимо повторно редактировать всякий раз, когда вы обновляете версии Komodo. Надеюсь, мы увидим, что рано или поздно вся эта проблема будет исправлена и улучшена поддержка Django в любимой IDE.


Если вы преимущественно работаете над проектами Django, вы можете изменить обработку Komodo по умолчанию *.html-файлы путем редактирования настроек > ассоциации файлов и изменения ассоциации для *.html для "Django" (например, как обычно для *.Джанго.формат HTML.) Это избавит вас от необходимости переименовывать все файлы шаблонов.

чтобы избавиться от волнистой красной линии, я использую пользовательский файл конфигурации Tidy, который можно указать в разделе "Настройки" > "языки" > "HTML" в окне выбора файла конфигурации. Содержимое этого файла просто:

показать-предупреждения: n

Это немного взломать, так как он будет подавлять законные предупреждения HTML тоже. Однако, пока Komodo / Tidy изначально не поддерживает теги шаблонов Django, он работает для меня.


Если вы ищете способ просто скрыть волнистые линии, а не возиться с аккуратной конфигурацией HTML, попробуйте следующее. В меню Настройки>шрифты и цвета выберите вкладку "индикаторы". В селекторе индикатора есть запись с именем "ошибка Линтера". Назначьте ему стиль "скрытый", и волнистые линии будут скрыты. Строка состояния по-прежнему будет отображать информацию о линтере. Это проверено на Komodo Edit 5.2.4 в Linux.


Как и при переименовании файлов шаблонов в *.Джанго.html и используя общие представления, вы можете столкнуться с исключениями TemplateDoesNotExist, так как django ищет только *_list.html и такие, насколько я обеспокоен.

edit: кроме того, при переименовании всех шаблонов не забудьте переименовать все {% extends *.html %} до {% extends *.django.html %} надлежащим образом.


Я всегда отключаю проверку ошибок HTML при редактировании шаблонов Django, поскольку они не являются полностью допустимыми HTML, как вы, возможно, поняли. Я не уверен, что это можно сделать для Komodo Edit, но я знаю, что это можно сделать для Komodo IDE, поэтому можно предположить, что они похожи в этом отношении. В любом случае, поэтому решение немного раздражает, я боюсь; вам нужно отключить его для каждого файла, который вы редактируете (я не знаю, как это сделать глобально)...

Я сейчас не на своем рабочем ПК, но если память служит мне, в нижней части оконной рамы есть значок, который вы можете щелкнуть правой кнопкой мыши, чтобы изменить свойства. Глубоко внутри должна быть возможность отключить проверку синтаксиса HTML.

Если вы не можете найти вариант, то дайте мне знать, и я постараюсь заполнить пробелы.