Как отредактировать Context (), прежде чем он будет отрендерен? Джанго - PullRequest
0 голосов
/ 19 октября 2011

Процессору из TEMPLATE_CONTEXT_PROCESSORS не разрешено редактировать контекст, или я запутался?Даже если я создаю подкласс

class MyContext(Context):
    def __init__(self, *args, **kwargs):
        Context.__init__(self, *args, **kwargs)

Context и пытаюсь передать его в context_instance, он не дает мне доступ к словарю.Это добавляет это прямо перед рендером.

return render_to_response(template, {'hello':'Hello World'}, context_instance=MyContext())

Итак, как мне анализировать и редактировать контексты до того, как он будет отрендерен?

ОБНОВЛЕНИЕ:

Единственный способ, который я нашел, - это создать подклассМетод обновления перезаписи конца контекста.

class RequestContext(Context):

    def update(self,other_dict):
        print other_dict
        super(RequestContext, self).update(other_dict)

1 Ответ

0 голосов
/ 19 октября 2011

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

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