如何从 django 管理员下载最新上传的文件?

How can I download the most recent uploaded file from the django admin?

我正在尝试创建一种有效的方法来从 django 管理员下载最近上传的文件。我的想法是,每个月左右,我都会进入 django 管理并上传一个 excel 文件。该文件稍后将使用按钮下载(简单的东西)。但是我现在所拥有的(效率不高)是,每个月我都会上传一个文件并通过按钮更改路径。这需要了解基本的 html 和 django,我的用户不会理解这些。为了总结这个想法,这里有一个列表:

我想到了很多事情,例如在上传文件时设置时间戳,并让按钮下载具有最新“创建日期”的文件。但是,我无法让它工作,即使我这样做了,那会是一种 easy/recommended 的方式吗?我也想到了重命名文件的能力,但同样,您需要对 django 管理有基本的了解,这不是我希望我的用户必须做的。

有什么我可以做的吗?非常感谢任何帮助,提前致谢。

所以我猜您正在将文件保存在模型中。 如果您使用 File.objects.latest('id') 命令会怎样?
这将为您提供最近上传的文件。然后您可以将其传递给 html 按钮。这样就省去了每次都更新路径的麻烦。

models.py

class File(models.Model):
    name = models.CharField(max_length=64)
    actual_file = models.FileField(upload_to='files')

views.py:

def index(request):
    # Store most recent uploaded file    
    file = File.objects.latest('id')  
    # Store file name (Whatever you called it inside your db)
    file_name = file.name
    actual_file = file.actual_file
    return render(request, "website/index.html", {   
        "file": actual_file,
        "name": file_name
    })

HTML:

 <a href="media/{{file}}" download> Download </a>