我是Django的新手。中间文件夹图像未显示在模板文件中。请帮助我。
models.py
class Images(models.Model):
image = models. ImageField(upload_to='images', blank=True, null=True)
settings.py
STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
urls.py
urlpatterns = [
......
]
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
views.py
def image_display(request):
image_obj = Images.objects.all()
return render(request, 'index.html', {'image_obj': image_obj})
index.html
<body>
{% for item in myoffers_objs %}
<div>
<img src="{{ item.image.url }}" alt="Images"/>
</div>
{% endfor %}
</body>
Project details我犯错了。为什么它显示这样。 Image displaying like this
答案 0 :(得分:0)
模板文件中的for循环不正确。 试试这个
<body>
{% for item in image_obj %}
<div>
<img src="{{ item.image.url }}" alt="Images"/>
</div>
{% endfor %}
</body>
答案 1 :(得分:0)
正确的static_root:
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
如果在该html中使用静态变量,则必须将其添加到html文件中:
{% load staticfiles %}
还必须运行以下命令来收集项目中的静态文件:
python manage.py collectstatic