我有一个使用多用户的 django 应用程序。用户可以在系统上上传图片。我创建了一个图片模型,其中有一个用户的foreignKey,可以知道哪个用户上传了哪个图片。
class Picture(models.Model):
picture = models.ImageField(upload_to='pictures')
uploader = models.ForeignKey(User)
#other specific fields like date etc
我已将设置文件设置为使用 MEDIA_URL 和 MEDIA_ROOT
设置.py
MEDIA_URL ='/media/'
MEDIA_ROOT = 'path/to/media/'
所以我可以访问www.mydomain.com/media/pictures/picture.jpg
. 但我想拥有一个共同的 MEDIA_ROOT 意味着任何用户都可以看到这张图片,对吗?不仅仅是上传它的用户。在我的网页中,我使用
<img src={{image.picture}}>
显示用户的图像。如何防止用户看到其他用户上传的图片(禁止消息)?这可以在设置中完成吗?