我目前有在我的網站上傳圖片的功能。所有圖像正在正確上傳,但是當我嘗試在視圖中使用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爲True,然後我看到實際上正在顯示圖像。我再次將調試更改爲false,並且圖像再次不顯示。什麼會導致dubug影響呢?
是什麼image.url的價值開始?它實際上是http://mysite.co.za/media/profile_photos/photo.png? –
是的,完全如文章所示,但它找不到該網址 – Riaan
如果您有權訪問服務器,您是否驗證過該文件實際存在? –