Передать переменную в пользовательский шаблонный загрузчик - PullRequest
0 голосов
/ 13 марта 2020

Я хочу сделать что-то вроде этого:

context = {
  'looking_for_this': '12345',
}

t = Template("Stuff {% include 'dynamic_template' %} stuff")
c = Context(context)
result = t.render(c)

Итак, я хочу, чтобы «dynamic_template» загружался пользовательским загрузчиком, я могу это сделать, но я не могу найти способ передать переменную, чтобы я мог использовать ее в загрузчике («Looking_for_this»).

class CustomLoader(BaseLoader):
    is_usable = True

    def __init__(self, *args, **kwargs):
        self.looking_for_this = "????"
        super(CustomLoader, self).__init__(*args, **kwargs)

    def get_template_sources(self, template_name, template_dirs=None):
        yield Origin(
            name=template_name,
            template_name=template_name,
            loader=self,
        )

    def get_contents(self, origin):
        return f"{self.looking_for_this}"

Мне это нужно, потому что мне нужно загрузить шаблон «dynamic_template_12345». Это не должно быть контекстом, я мог бы передать его по ссылке, просто не могу найти место.

Есть подсказки?

Спасибо

...