没有在django中提供的图像

问题描述 投票:0回答:1

我使用此问题View does not seem to be saving all the information in my model中的表单上传的媒体正被上传到我已定义的正确/ media / images文件夹。但是,在访问时它返回404.我试图按照https://stackoverflow.com/a/39359264上的说明但仍然得到404。

我的模板代码

{% for books in object_list %}
    <img src="{{ books.cover_pic.url }}">
{% endfor %}

settings.朋友

STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

我的urls.py

urlpatterns =[
    path('', views.index, name='index'),
] 
if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

我的图像模型代码是

cover_pic = models.FileField(null=True, blank=True, upload_to='images/')

我的媒体文件夹位于基础目录(manage.py旁边)。我在俯瞰什么?

django python-3.x image django-models
1个回答
0
投票

试试这个。它对我有用。您还尝试了一些我在models.py中注释的方法。

settings.朋友

import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
STATIC_URL = '/static/'

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "static"),
)

MEDIA_ROOT = (
BASE_DIR
)


MEDIA_URL = '/media/'

models.朋友 ...

#Here you can try changing FileField to ImageField if you like.
# You can also try directory uploads as image without backslash
#cover_pic = models.ImageField(upload_to='images')

cover_pic = models.FileField(upload_to='images/')

urls.py(项目)

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

模板(.html)

  {% for books in object_list %}
    <img src="{{ books.cover_pic.url }}">
{% endfor %}
© www.soinside.com 2019 - 2024. All rights reserved.