首页 > 解决方案 > 未找到:django 中的 /media/media/photos/e.jpg

问题描述

我已经在 Web 服务器上部署了一个项目。在我的项目中,一切正常,但我无法在个人资料页面上打印图像。在我的本地环境中,一切正常,但在已部署的版本上,我收到以下错误:未找到:django 中的/media/media/photos/e.jpg。

模型.py

class Matr(models.Model):
    photo = models.ImageField(upload_to='media/photos/', null=True, 
            blank=True)

设置.py

MIDIA_ROOT=os.path.join(BASE_DIR,'media')
MEDIA_URL='/media/'

网址.py

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, 
    document_root=settings.MEDIA_ROOT)

profile.html

{% if user.matr.photo %}
    <img src="{{ user.matr.photo.url }}" width="330">
{% endif %}

标签: django

解决方案


尝试这个

模型.py

class Matr(models.Model):
     photo = models.ImageField()

设置.py

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media_root')

网址.py

if settings.DEBUG:
     import debug_toolbar
     urlpatterns += [path('__debug__/', include(debug_toolbar.urls))]
     urlpatterns += static(settings.MEDIA_URL,
                      document_root=settings.MEDIA_ROOT)

profile.html

<img src="{{ user.matr.photo.url }}">

并确保在上传照片后,您在“media_root”库中有该照片。


推荐阅读