2016-10-15 6 views
-3

Я начинающий Django, и я хотел попробовать и изучить некоторые основы Django-CMS.Django {% block%} описание

Когда я начал редактировать шаблон по умолчанию, который был создан с помощью программы установки, я заметил, есть {% block ... %} блоков, но я не мог найти никакой документации о том, что block средства или более конкретно, что block title и block content означают.

В документации Django и Django-CMS нет такого объяснения, которое странно, учитывая тот факт, что это кажется довольно простым. Когда я удалил блок block title, заголовок перепутался.

Я использую:

  • Джанго 1.8.15
  • Джанго-КМВ 3.4.1.
+2

[Прочитать эту документацию] (https://docs.djangoproject.com/en/1.8/ref/templates/language/) – dahrens

+0

@ dahrens Хорошо, я только что прочитал его и нашел, что я пропустил. Наверное, я запутался, потому что документация django cms ничего не говорит об этом. Спасибо. –

ответ

1

{% block %} ... stuff {% endblock %} То, что вы видите, предназначено для создания многоразовых фрагментов HTML (или частичных или блоков). В Django они используют подсистему под названием Jinja (Jinja2).

Обратите внимание, что синтаксис, который вы увидите, не является исключением для Jinja. Идея состоит в том, что язык программирования и структура используют компонент, который позволяет инкапсулировать HTML-шаблоны. Мы называем их Web Templating system и иногда называем их «логикой меньше». Хотя мы можем делать петли и делать условные обозначения.

В Jinja (и других подобных подсистемах синтаксиса) blocks являются частями, которые мы затем можем использовать повторно. «Макро», если хотите. У Jinja также есть макросы, где вы также можете добавить аргументы, чтобы повлиять на то, как будет генерироваться вывод.

+2

Язык шаблона Django отличается от Jinjia. Хотя в последних версиях вы также можете * использовать Jinja. Но 'block' присутствует в обоих. –

+0

Хороший звонок. I * did * не проверял, был ли он разделенным кодом или повторной реализацией синтаксиса. – renoirb

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

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