django version: 2.08
MEDIA_ROOT in the settings files
ImageField in the class Product
当我将产品添加到数据库时,目录products
是由 django 自动创建的,但它位于myshop
目录下,而不是在media
目录下。
当我使用 Python shell 读取product.image.url
时,它显示:
/media/products/2018/08/22/green_tea.jpg
products/2018/08/22/green_tea.jpg
中的green_tea.jpg stays
在模板文件中,我使用以下代码来获取图像路径:
<img src="{% if product.image %}{{ product.image.url }}{% else %}{% static 'img/no_image.png' %}{% endif %}">
之后,我得到最终结果,图像无法显示在网页中。
我想不通。你能给我一些建议吗?
请看图片
这里您必须在设置文件中设置媒体 URL。
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, "media")