Django - 每周上传表格限制

时间:2016-11-22 19:14:22

标签: python django forms

我将创建一个注册用户可以上传图像的表单。我可以创建模型,表单,视图。我唯一的问题是我希望用户每周能够上传2个文件。如果安装了2个文件,我希望表单是被动的。如果你能帮助我完成限制,我将很高兴。

1 个答案:

答案 0 :(得分:0)

基本上你需要单独的结构来存储这些信息,第一个镜头是:

  1. 使用字段创建其他模型:id,user_id,upload_date,file_id
  2. 每次用户上传时 - 在上面的模型/表格中添加一行
  3. 在上传之前进行检查 - 在过去两周内为用户上传了多少文件 - 这就是:

    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'
    
  4. 您也可以在页面上使用上面的trunin打开/关闭上传表单 - 将结果传递给模板。

  5. 希望这有帮助。