gpt4 book ai didi

python - Django - 无法显示媒体文件夹内的文件夹中的图像

转载 作者:行者123 更新时间:2023-12-01 09:27:12 25 4
gpt4 key购买 nike

我正在尝试使用 django 将“media”文件夹 (media/tshrirts) 中的文件夹中的图像加载到模板上。下面是我的settings.py

STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]

MEDIA_URL = '/media/'
#MEDIA_ROOT = os.path.join(BASE_DIR,'media')
MEDIA_ROOT = 'media'
**I tried both the roots none of them work.

下面是我的 models.py

 from django.db import models
# Create your models here.
class tshirts(models.Model):
brand=models.CharField(max_length=50)
name=models.CharField(max_length=100)
price=models.DecimalField(max_digits=10, decimal_places=2)
image = models.ImageField(upload_to='tshirts/')

def __str__(self):
return self.name

这是 tshirts.html 的一部分为什么 image.url 没有?

<div class='tshirts'>
{% for eachtshirt in alltshirts %}
<div class='tshirt'>
<a href="#">{{eachtshirt.brand}}</a>
<p>{{eachtshirt.name}}</p>
<p>{{eachtshirt.price}}</p>
<img src="{{eachshirt.image.url}}"/>
{% if eachshirt.image.url == None %}
<p>{{"Image Not Found"}}</p>
{% endif %}
</div>
{% endfor %}
</div>

最后,urls.py

urlpatterns = [
.
.
.
url(r'^tshirts/',include('tshirts.urls')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

当我以管理员身份上传图片并点击链接后,图片就正确显示了。 http://127.0.0.1:8000/media/tshirts/t-shirt2.jpg - 图像显示在这里。我该如何解决这个问题,请告诉我,谢谢! Screenshot for the page

最佳答案

媒体的根目录应包含BASE_DIR,如下所示:

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

您的模板中有拼写错误,您访问的 {{eachshirt.image.url}} 没有 t。正确的是

{{eachtshirt.image.url}} <!-- with t : each tshirt -->

关于python - Django - 无法显示媒体文件夹内的文件夹中的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50284845/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com