Шаблоны Django: Добавьте что-нибудь ниже переменной - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть этот шаблон HTML django:

{{ header }}

{{ content }}

{{ footer }}

Это означает, что контекст принимает следующие переменные: заголовок, содержимое, нижний колонтитул.

Есть ли что-то подобное:

Template(...).render(
    dict(header='foo', content='bar', footer='blu', 
        content__post='this should be between content and footer')

Необходимый результат:

foo
bar
this should be between content and footer
blu

Я не хочу изменять все шаблоны, чтобы они содержали content__post, так как шаблонов много.

Как «вставить» фрагменты post / pre (ниже / выше) вместо других переменных?

1 Ответ

0 голосов
/ 26 апреля 2018

Просто добавьте промежуточный контент к content и все. Это можно сделать с помощью контекстного процессора, если вы хотите, чтобы он был полностью автоматизирован.

def add_something(context):
    if somecondition_maybe:
        context['content'] += "some more content to be added"
    return context

и затем добавьте your_app.context_processors.add_something в процессоры контекста шаблона (в settings.py).

см. Подробнее: собственные контекстные процессоры и context_processors

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...