我目前具有在我的网站上传图片的功能。所有图片都正常上传,但当我尝试使用视图中的image.url
属性显示它们时,它会给我一个404未找到的错误。
我相信它可能是我的Apache配置或Django settings.py。
在我的Apache配置中,我有:
Alias media/ /var/www/MySite/media/
<Directory /var/www/MySite/media>
Require all granted
</Directory>
在我的settings.py中:
PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
MEDIA_ROOT = os.path.join(PROJECT_ROOT, 'media')
MEDIA_URL = 'media/'
在我看来,我试图按如下方式显示图像:
{% for photo in photos %}
<div class="col-md-3 photo-wrapper">
<img src="{{ photo.image.url }}"/>
</div>
{% endfor %}
然后图像会查找此网址:
http://mysite.co.za/media/profile_photos/photo.png
但它找不到图像。
我确实检查过图像是否已上传,并确保图像位于正确的位置。
我的澄清模型:
image = models.ImageField(upload_to='profile_photos')
注意:当我在本地主机上使用该站点时,此功能正常。
编辑:
因此,当我尝试不同的修复时,我搞砸了一些让我将settings.py中的Debug更改为True的东西,然后我看到图像实际上正在显示。我再次将调试更改为false,并且图像再次无法显示。什么会导致dubug影响这个?