Найти - Пользователи
Полная версия: как сделать, что бы timezone.now вызывался при каждом запросе?
Начало » Django » как сделать, что бы timezone.now вызывался при каждом запросе?
1
slotmim
В этой главе документации говориться, что если использовать timezone.now без скобок, то он будет вызываться при каждом обращении. Но у меня он вызывается только один раз, при запуске, как со скобками, так и без.

версии
Django (1, 5, 1, ‘final’, 0)
Python 2.7.3
slav0nic
код где?
slotmim
slav0nic
код где?

...
from django.utils import timezone
...
url(r'^$',
    ListView.as_view(
        queryset=Poll.objects.filter(pub_date__lte=timezone.now) \
            .order_by('-pub_date')[:5],
        context_object_name='latest_poll_list',
        template_name='polls/index.html'),
    name='index'),

вот. но он не фильтрует правильно. как уже сказал выше, только один раз, при запуске сервера вызывается метод timezone.now и сравнивается с этими датой и временем.
FishHook
Очевидно, нужно вынести в класс

url(r'^$', Index.as_view(template_name="index.html"), name='index'),

class Index(ListView):
    def get_queryset():
        return Poll.objects.filter(pub_date__lte=timezone.now) \
            .order_by('-pub_date')[:5]
   def get_context_data(**kwargs):
       #blabla
slotmim
FishHook
Очевидно, нужно вынести в класс
т.е не создавая класса нельзя? просто в этой главе документации говориться, что если использовать timezone.now без скобок, то он будет вызываться при каждом обращении. И они его используют не создавая класса. У меня же, когда я его так использую, запись которую я создаю не отображается, хоть если ждать долгое время, а если перезапускаю сервер отображается.
Что я не так делаю? или это какой то баг?
inoks
если запрос:
queryset=Poll.objects.filter(pub_date__lte=timezone.now).order_by('-pub_date')[:5]
изменить на:
queryset=Poll.objects.filter(pub_date__lte=timezone.now).order_by('-pub_date')
работает корректно?

Вообще есть некоторое несоответсвие описания/баг https://code.djangoproject.com/ticket/20241
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB