Как ограничить по времени доступ к разделу сайта? django
Проект на Django.
Нужно к одному из разделов сайта, например "Связь с администрацией" или "Оформление покупки" ограничить доступ по времени, например с 00:00 до 06:00 утра. Как это сделать???
В голову приходят много вариантов - ограничить на views, ограничить на forms или же вообще ограничить только на template (что скорее всего не лучший вариант). Буду благодарен любой помощи и советам.
Вопрос: как осуществить ограничение по времени (например с 00:00 до 06:00 утра) на раздел сайта? Как лучше всего сделать подобное ограничение - На views? На forms? На Template?
За примеры кода буду благодарен вдвойне.
Ответы (2 шт):
Я пишу не на Django, но логика была бы такой: провряется текущее время в контроллере и исходя из этого решается, какой шаблон показать - запрашиваемый или с уведомлением о том, что раздел закрыт до такого-то времени.
Я бы еще добавил появляющееся предупреждение на страницу, о том, что страница скоро перестанет быть доступной и подумал бы о том, как обрабатывать приходящие от пользователей данные, сохранять их в базе несмотря на время или в хранилище браузера, если это вообще необходимо. Ну и о часовых поясах не забудьте.
Решил вопрос самостоятельно, но с подсказкой anme.
Напишу решение, может кому-то пригодится, так как подобных вопросов по джанго нет.
Создал отдельный шаблон .html с уведомлением о том, что данный раздел закрыт от и до, по времени.
Реализацию сделал во views:
Сначала получил текущее время, и выбрал только - часы.
now = datetime.datetime.now()
hour_now = now.hour
Далее во views реализовал проверку:
if 23 < hour_now < 6:
После данной проверки уже идёт вся основная логика работы раздела.
В else просто подставил шаблон с уведомлением о том, что раздел закрыт.
Надеюсь ответ кому-то будет полезен.