четверг, 8 декабря 2011 г.

Кеширование отдельных запросов

На днях возникла необходимость сделать кеширование некоторых сложных запросов. Просто по таймауту, без инвалидации. Делать общее кеширование на сайте нельзя, потому что шаблоны генерируются сложно, в зависимости от многих данных.

среда, 27 апреля 2011 г.

Shortcuts в Django 1.3

Америку не открываю, но думаю что многим будет полезно.

1. Рендеринг:

from django.shortcuts import render

def page(request):
    retval = 'value'
    return render(request,'page.html',{'var':retval})


2. Редирект

from django.shortcuts import redirect

def page(request):
    return redirect('url_name') #Если у ссылки есть название в urls.py
    ...
    или
    ...
    return redirect('/page/') #Если у ссылки нет названия в urls.py


2. Получить объект или вернуть 404 страницу

from django.shortcuts import get_object_or_404
from django.contrib.auth.models import User

def page(request):
    get_object_or_404(User,id=1) #Если объекта нету, возвращает 404 страницу. Если есть, идет дальше
    ...
    return ...