27 июля 2010 г.

Тянем объект request в любом модуле Django

Импортируя данный модуль можно получить доступ к объекту request в любом модуле Django:
try:
    from threading import local
except ImportError:
    from django.utils._threading_local import local

_thread_locals = local()

def get_request():
    return getattr(_thread_locals, 'request', None)

class ThreadLocalsMiddleware(object):
    def process_request(self, request):
        _thread_locals.request = request

20 июля 2010 г.

Атрибуты тэгов OBJECT и EMBED для размещения Flash в броузере

Для того, чтобы разместить флеш-мувик (файл *.swf) на странице c HTML-разметкой необходимо вставить тэг object в любом месте между тегами body. Сам тег object должен содержать тэг embed. Далее рассмотрим атрибуты, характерные для данного объекта.

Django. Вытаскиваем request в template

В global_settings, в кортеже TEMPLATE_CONTEXT_PROCESSORS должна быть строка "django.core.context_processors.request". Контекст появляется во всех (?) встроенных модулях (в Flatpages точно, именно там он мне был нужен).

Для добавления request в свои темплейты для render_to_response добавляем 3-й параметр: context_instance=RequestContext(request).