Как распечатать контекстное содержимое в шаблоне?


Как я могу печатать или перебирать все переменные, доступные в контексте из кода шаблона?

Я знаю о {% debug %}, но он содержит слишком много информации. Я просто хотел бы напечатать имена переменных, доступные в текущем контексте.

Есть ли способ сделать это без написания пользовательского тега?

2 4

2 ответа:

Используйте панель инструментов Django debug toolbar - она доступна на вкладке Templates, а также содержит целый ряд других полезных отладочных сведений.

Если вы используете представления на основе классов, вы можете просто дать текущий контекст как переменную контексту:

class MainView(TemplateView):
    template_name = 'base.html'

    def get_context_data(self, **kwargs):
        ctx = super(MainView, self).get_context_data(**kwargs)
        ctx['ctx'] = ctx
        return ctx

Чем вы можете получить доступ к контексту с помощью {{ctx}}