【发布时间】:2019-07-24 19:00:28
【问题描述】:
我需要在模板中显示图像。图像是从模型中获取的。我的models.py 驻留在一个名为services 的应用程序中:
class Car_model(models.Model):
name = models.CharField (max_length = 25, blank=False)
...
category = models.ForeignKey (Category, on_delete=models.CASCADE)
photo = models.ImageField (upload_to ='static/images/models')
我在settings.py 中添加了这些行:
STATIC_ROOT = os.path.join(BASE_DIR, 'media') # i added it later
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
我也在我的 project_name's urls.py 文件中添加了这一行:
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
...
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
我正在尝试通过此代码获取模板中的图像:
{% load static %}
{% for c in ca %}
<p><strong>{{ c.car_no }}</strong>--<em>{{ c.car_model }}</em>--{{ c.garage }}</p>
<img src="{{ c.car_model.photo.url }}" height="200" />
<form action="{%url 'booking' c.id c.garage.id %}" method="POST">
{% csrf_token %}
<input type="submit" name="the_selected_car" value="Select this car">
</form>
{% endfor %}
但无论我尝试什么照片都没有显示。我试着放置这个:
+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) 在我的services 应用程序的urls.py 中,但这没有帮助。
【问题讨论】:
标签: django django-models django-templates