Django:只允许在时间段内创建模型

2022-09-28 22:04:12 发布

您现在位置:Python中文网/ 问答频道 /正文

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

假设事件发生在2019年1月31日13:00。现在,我必须确保人们只能注册,例如,直到事件模型中定义的注册截止日期

我在Django使用CBV,我想问一下我应该把支票放在代码的什么地方,这样人们只能在注册截止日期之前创建新的注册。在我的模板中,我已经有了这张支票,表格只在截止日期之前显示。但是,我还必须确保知道表单的人不能发布到指定的站点

Django有没有默认的方法来解决这个问题?我应该用哪种方法检查


Tags: django方法代码模型event模板web应用程序定义地方事件registration表格cbv支票
1条回答
网友
1楼 ·

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

例如:

网址.py

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

视图.py

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

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