首页 > 解决方案 > Django:只允许在时间段内创建模型

问题描述

在我的 Web 应用程序中,我有模型Event和模型Registration(用于事件)。

假设活动于 2019 年 1 月 31 日 13:00 举行。现在,我必须确保人们只能在事件模型中定义的注册截止日期之前注册。

我在 Django 中使用 CBV,我想问一下我应该在哪里检查代码,以便人们只能在注册截止日期之前创建新的注册。在我的模板中,我已经进行了此检查,并且该表格仅在截止日期之前显示。但是,我还必须确保知道表单的人不能 POST 到指定的站点。

Django中是否有解决此问题的默认方法?我应该用哪种方法检查?

标签: pythondjango

解决方案


我相信您最简单的选择是在渲染视图时调用的函数中。

例如:

网址.py

`path('/somepath', views.RegistrationView)`

视图.py

def RegistrationView(request):
    if datetime.datetime.now() > datetime.datetime(2019, 1, 31, 13):
        redirect('someOtherView')

类视图可以使用类似的系统


推荐阅读