非公开图片上传

时间:2010-10-12 07:54:22

标签: django django-admin

默认情况下,Django会将图像上传到MEDIA_ROOT设置,该设置被假定为可公开访问的目录。

我不希望用户能够上传图像并立即访问这些图像。相反,我希望将图像上传到非公共tmp目录。稍后,网站管理员将批准django-admin中的图片,这会将图片移动到公共图片目录。

问题是网站版主需要能够查看存储在tmp目录中的图像才能批准它们。因此,这些图像需要从Web服务器提供,但不是主持人的用户无法访问。

我如何:

  1. 扩展ImageField以将图像存储在MEDIA_ROOT以外的目录中
  2. 保护临时图像,使其只有在获得批准后才能被网站版主查看?

1 个答案:

答案 0 :(得分:0)

Re 2:完全保护他们是不可能的,因为静态媒体由网络服务器提供,完全绕过django。 您可以做的是在媒体源中创建目录/ private /并使用普通的apache手段保护它 - 例如.htaccess;

虽然之前建议的哈希对我来说似乎是一种更好的方法。