我有一个网站,允许人们下载文件,例如他们可以重复使用的 Powerpoint 模板。
我在模型中添加了一个列,用于存储这些文件的信息和位置,称为“下载”,在该列中,我想用它作为计数器来跟踪文件下载了多少次。
我该怎么办?它会是页面上的 GET 请求吗?基本上我只是提供一个指向文件的链接,下载会自动开始,所以不确定如何将链接被点击回模型的事实传达给模型。
非常感谢 :-)
我有一个网站,允许人们下载文件,例如他们可以重复使用的 Powerpoint 模板。
我在模型中添加了一个列,用于存储这些文件的信息和位置,称为“下载”,在该列中,我想用它作为计数器来跟踪文件下载了多少次。
我该怎么办?它会是页面上的 GET 请求吗?基本上我只是提供一个指向文件的链接,下载会自动开始,所以不确定如何将链接被点击回模型的事实传达给模型。
非常感谢 :-)
您有几种方法可以做到这一点:
如果您创建一个处理 GET 请求的视图,您可以将更新代码放在该视图中。如果您的 Django 应用程序本身不处理上传,您可以在更新数据库中的计数器后创建一个简单地重定向到下载链接的视图。
就像 redShadow 说的你可以创建一个代理视图。此视图可以通过mod_xsendfile提供文件(如果您使用 apache 作为网络服务器)并为下载设置一个计数器。