python - Django:只允许在时间段内创建模型
问题描述
在我的 Web 应用程序中,我有模型Event
和模型Registration
(用于事件)。
假设活动于 2019 年 1 月 31 日 13:00 举行。现在,我必须确保人们只能在事件模型中定义的注册截止日期之前注册。
我在 Django 中使用 CBV,我想问一下我应该在哪里检查代码,以便人们只能在注册截止日期之前创建新的注册。在我的模板中,我已经进行了此检查,并且该表格仅在截止日期之前显示。但是,我还必须确保知道表单的人不能 POST 到指定的站点。
Django中是否有解决此问题的默认方法?我应该用哪种方法检查?
解决方案
我相信您最简单的选择是在渲染视图时调用的函数中。
例如:
网址.py
`path('/somepath', views.RegistrationView)`
视图.py
def RegistrationView(request):
if datetime.datetime.now() > datetime.datetime(2019, 1, 31, 13):
redirect('someOtherView')
类视图可以使用类似的系统
推荐阅读
- ckeditor - 使用反应将文本突出显示添加到CKeditor 4
- html - CSP 错误帮助 - 拒绝构建“已编辑”,因为它违反了以下内容安全策略指令
- android - Android Google Billing SDK(印度)中未显示推介价格
- java - 为什么 jar 文件不起作用并且出现异常?
- java - 如何在 OpenXava 中更改 MONEY 刻板印象的货币符号?
- .net - EF Core/Npgsql 参数化整个 where 子句
- flutter - Flutter Assets Audio Player 播放下一首歌曲
- flutter - Flutter Dropdown:“对象?”类型的值 不能分配给“字符串”类型的变量。- “对象”来自“飞镖:核心”
- python - 如何识别tensorflow网络运行缓慢和内存不足的原因
- apache-spark - Pyspark GCP UnsupportedOperationException:org.apache.parquet.column.values.dictionary.PlainValuesDictionary$PlainDoubleDictionary