объект запроса/пользователя turbogears в шаблонах и контексте запроса

В настоящее время я переключаюсь с Django на Turbogears 2.1 и сталкиваюсь с некоторыми проблемами, на которые я не смог найти ответы в документации Turbogears. Если разработчики tg читают это, позвольте мне сказать вам, что одна из лучших особенностей Django по сравнению с TG — это его документация!

1) Как мне получить доступ к объекту запроса (пользователя?) в шаблоне mako, чтобы проверить, аутентифицирован ли пользователь? Например

if (request.user.is_authenticated) 'ссылка для выхода' else 'ссылка для входа'

2) Связанный вопрос (поскольку пользовательский объект отображается в Django для шаблонов через контекстные процессоры). Есть ли способ добавить данные в контекст запроса? Например, в моем приложении Django я добавляю кешированный словарь уведомлений для пользователя, если пользователь вошел в систему с помощью определения в файле context_processors.py, а затем включаю это определение в кортеж TEMPLATE_CONTEXT_PROCESSORS в файле настроек.

3) Это может потребовать отдельного вопроса, но я подумал, что добавлю его, если у кого-то есть быстрое предложение. Я использую Netbeans в качестве своей IDE, и она не предлагает раскрашивания кода или инструментов для файлов mako. Однако попытка переименовать шаблоны с расширением .html приводит к ошибке mako. Есть ли способ обойти это или я застрял с простым текстом и расширением .mak?

Большое спасибо


person Marc    schedule 15.12.2009    source источник


Ответы (1)


Я перешел с Turbogears 1.0 на Django. Возможно, я не смогу ответить на все эти вопросы, но я считаю, что в целом TG2 старается сохранить примерно то же, что и TG1. Надеюсь, указание на то, как это работает в TG 1, может помочь...

1) В Turbogears 1.0 вы должны использовать tg.identity.anonymous, чтобы узнать, вошел ли пользователь в систему или нет. Беглый взгляд на документы показывает, что, скорее всего, они все те же.

2) Turbogears назвал такие вещи стандартными переменными — см. здесь подробности для TG 1 http://docs.turbogears.org/1.0/stdvars

3) Извините, не знаю, но я предполагаю, что вы, вероятно, можете просто сказать Netbeans, чтобы он рассматривал .mak как другое расширение для файлов html (поэтому он использует подсветку синтаксиса html).

person John Montgomery    schedule 15.12.2009