实时网站无法找到图像文件

时间:2016-06-08 06:38:27

标签: django apache

我目前具有在我的网站上传图片的功能。所有图片都正常上传,但当我尝试使用视图中的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影响这个?

1 个答案:

答案 0 :(得分:0)

apache alias directive应以/

开头
Alias /media/ /var/www/MySite/media/