2016-09-10 2 views
0

У меня есть вопрос новичков. Я недавно попробовать Django, и я заметил, что если я когда-нибудь написать шаблон тег вида:Использование <in django template

{% if some_var < 10 %} 

< символ подсвечивается возвышенного почти как будто это ошибка синтаксиса (или предупреждение). Теперь, конечно, это работает правильно, но мне интересно, почему это выделение происходит в первую очередь. У некоторых браузеров возникают трудности при анализе < при чтении HTML-кода? Пожалуйста, просветите меня (и > не подсвечивается, чтобы усугубить ситуацию!).

Я на самом деле рассматриваю возможность создания пользовательского тега шаблона, который выполняет сравнение «меньше».

ответ

2

Sublime, вероятно, думает, что ваш шаблон является простым HTML-файлом, и в этом случае < и > являются элементами тэгов HTML и не имеют смысла нигде.

Возможно, вы можете вручную установить тип файла в качестве шаблона Django, который должен исправить выделение.

+0

Спасибо за головы. Я сделал обратную кнопку с меткой '<< назад' и следующей кнопкой с меткой' next >> '. Я тестировал их на * прокси-браузере * для мобильных устройств (т. Е. Opera Mini) и выяснил, что кнопка «Назад» вообще не отображается (хотя следующая работала). Я сменил ярлык на просто «назад», и он начал появляться. После этого опыта я был параноидальным, что «<' в шаблоне HTML как-то не так и приводит к сбою краевых случаев; хотя '>' отлично. Я думаю, ваше объяснение частично объясняет, почему я видел то, что видел во время тестирования в Opera Mini. – Sophia111

1

Проверьте комплект Djaneiro. Он содержит определение HTML (Django) синтаксиса, который содержит области для тегов шаблона:

Djaneiro with Neon

(цветовая гамма мой Neon Color Scheme, которая содержит цвета специально для Djaneiro)

Другим вариантом является обновление до Sublime Text 3, который настоятельно рекомендуется в любом случае. Определение синтаксиса по умолчанию HTML (наряду со многими другими языками, включая JavaScript, PHP и Python) был полностью переписан и теги шаблонов теперь игнорируются:

HTML with Neon

+0

Благодарим за это, хотя технически мой вопрос был больше * почему * является '<' помечены. Если есть случаи с краем, которые у меня отсутствуют, я просто переношу его на специальный тег шаблона, который обрабатывает случай «меньше». Я надеюсь, что это не приведет к компрометации производительности. – Sophia111

+0

Причина * почему * тег выделен в ST2, потому что определение HTML неверно, и оно ошибочно выглядит так, как ошибки непарные символы '' '. Это определение было исправлено в ST3, поэтому отсутствие выделения, когда символ находится внутри тега шаблона. Извините, я не был более ясен, ваш вопрос был написан как проблема, которую нужно решить, а не запрос, на который нужно ответить. – MattDMo

 Смежные вопросы

  • Нет связанных вопросов^_^