pylons mako как проверить существует переменная или нет

В django мы можем сделать это:

views.py : 

    def A(request):
        context = {test : 'test'}
        return render_to_response('index.html', context, context_instance = RequestContext(request))

    def B(request):
        context = {}
        return render_to_response('index.html', context, context_instance = RequestContext(request))

index.html:

        {% if test %}
            {{ test }}
        {% endif %}

И чтобы наш шаблон отображался без ошибок, даже если я использую method B, где переменная 'test'не существует, но я все равно могу поместить ее в шаблон.

Тоже самое хочу сделать с пилонами + мако, в контроллере:

foo.py

    def A(self):
        c.test = 'test'
        return render('index.html')

    def B(self):
        return render('index.html')

index.html :

        % if c.test:
            ${'c.test'}
        % endif

В Django я могу это сделать, но в Pylons я получаю сообщение об ошибке, можно ли как-то проверить, существует ли 'c.test'или нет?

ошибка :AttributeError :Объект «ContextObj» не имеет атрибута «тест»

6
задан Santana 17 August 2012 в 13:29
поделиться