找不到:django中的/media/media/photos/e.jpg

时间:2019-09-10 12:15:37

标签: django

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

models.py

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

settings.py

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

urls.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 %}

1 个答案:

答案 0 :(得分:0)

试试这个

models.py

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

settings.py

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

urls.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”库中拥有该照片。