【发布时间】:2016-11-22 19:14:22
【问题描述】:
我将创建一个表单,注册用户可以在其中上传图像。我可以创建模型、表单、视图。我唯一的问题是我希望用户能够每周上传 2 个文件。如果安装了 2 个文件,我希望表单是被动的。如果你能帮助我如何做限制,我会很高兴。
【问题讨论】:
-
请展示您到目前为止所做的尝试。关于表单是被动的,你的意思是你希望它被禁用?
-
是的,我想被禁用。
我将创建一个表单,注册用户可以在其中上传图像。我可以创建模型、表单、视图。我唯一的问题是我希望用户能够每周上传 2 个文件。如果安装了 2 个文件,我希望表单是被动的。如果你能帮助我如何做限制,我会很高兴。
【问题讨论】:
基本上你需要单独的结构来存储这些信息,第一个镜头是:
在上传之前检查 - 在过去两周内为用户上传了多少文件 - 这是这样的:
def can_upload(user_id):
now = now()
two_weeks_ago = now - timedelta(days=14)
upload_count = UploadFileLog.objects.filter(
user_id=user_id,
upload_date__gte=two_weeks_ago,
upload_date__lte=now
).count()
return upload_count < 2 # you can make constant for '2'
您也可以使用上述方法打开/关闭页面上的上传表单 - 将结果传递给模板。
希望这会有所帮助。
【讨论】: