Какая доза означает фигурную скобку и знак процента в html?

Я учусь, как разрабатывать веб-сайт в Django framework. Есть что-то, чего я не понимаю в html-файле шаблона.

Я видел, что учебник использовал фигурные скобки(<% if ... %> <% endif %> etc.) для встраивания логики в код. Но когда я пытаюсь использовать этот синтаксис на сервере без Django (Apache), этот синтаксис не интерпретируется, и я вижу свой <% if ... %> ... прямо на моей странице.

Я не знаю, почему это.

этот синтаксис не является частью если HTML-а часть Django, чтобы ее можно было интерпретировать?

1 ответов


прежде всего, правильные теги для языка шаблонов Django -{% %}, а не <? ?>.

и вы правы, что это часть Django. Это пример доменный язык, который, как говорит Википедия, является языком, изобретенным для конкретной задачи. В этом случае язык шаблонов Django построен для обработки, ну, шаблонов.

он работает, потому что Django поставляется с парсер интерпретировать язык и смысл. Парсер берет строку, которая в противном случае не имеет смысла в HTML или любом другом языке, например {% block pasta%}, и преобразует ее во что-то значимое. В этом случае он в конечном итоге выводит HTML.

бывает, что вы можете написать свой собственный парсер на любом языке, чтобы интерпретировать язык шаблонов Django, или даже написать новый язык полностью. Но сложность такой задачи возрастает по мере усложнения вашего языка, а также зависит от язык, который вы выберете. PHP, как известно, плохо разбирается, в то время как другие языки, такие как Perl, как известно, лучше. В общем, гораздо проще просто выполнить поиск и использовать встроенный парсер вместо повторного изобретения колеса. Хотя это, конечно, намного менее интересный способ сделать это:)

p.s. Это может вас заинтересовать.