根据一天中的时间调低网页(DJANGO)

时间:2012-08-31 08:54:43

标签: django datetime django-templates

如何根据一天中的时间使用django模板删除页面内容?

我正在创建一个在线食品配送网站。交货订单分为几次。

例如,对于晚上7点的送货下降,我希望页面正常显示,直到当天下午6点。然后在下午6:01我想要页面说“这个交货时间不可用”

1 个答案:

答案 0 :(得分:1)

说实话,如果你想防止不必要的行为,你不应该依赖模板逻辑。

您可以创建两个变量,例如

from django.conf import settings 

TIME_OPEN = getattr(settings, 'TIME_OPEN', datetime.now().replace(hour=10, minute=30, second=0, microsecond=0).time())
TIME_CLOSED = getattr(settings, 'TIME_CLOSED', datetime.now().replace(hour=21, minute=30, second=0, microsecond=0).time())

在您的网址模式中,您可以添加以下内容:

if TIME_OPEN < datetime.now().time() < TIME_CLOSED:
    urlpatterns += patterns('shop.customers.views',
    (r'^checkout/$', 'checkout'),
)

根据您的新变量,您可以添加一个context_processor,为每个UI逻辑模板提供一个上下文变量,例如: {'shop_open': True}

请注意,这些示例依赖于服务器时间,因此您必须检查,因为它可能与您的本地计算机不同。另一种方法可能是创建一个装饰器,它可以包含需要特定时间的视图。

所以,只是为了确保;不要依赖模板逻辑,保护你的观点