[英]Django : how to display images from database in template?
Hi I don't know why but I can't display images from my database.嗨,我不知道为什么,但我无法显示数据库中的图像。 I think it is because of my path in my template.
我认为这是因为我在模板中的路径。
My model :我的模型:
class Article(models.Model):
titre = models.CharField(max_length=200)
auteur = models.CharField(max_length=200)
pub_date = models.DateTimeField('date de publication')
numero = models.CharField(max_length=200)
categorie = models.CharField(max_length=200, default="culture")
contenu = models.CharField(max_length=200000)
image = models.ImageField(upload_to='image_publie', blank=True, null=True)
def __str__(self):
return self.titre
def was_published_recently(self):
return self.pub_date >= timezone.now() -datetime.timedelta(days=7)
My view :我的看法 :
def detail(request, article_id):
article = get_object_or_404(Article, pk=article_id)
return render(request, 'gazette/detail.html', {'article':article})
My url :我的网址:
path('<int:article_id>/', views.detail, name='detail'),
Settings :设置:
STATIC_URL = '/static/'
MEDIA_URL = '/images/'
MEDIA_ROOT = os_path.join(BASE_DIR, 'images/')
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
My template :我的模板:
{% extends "base.html" %}
{% load static %}
{% block content %}
<h1>{{ article.contenu }}</h1>
<ul>
{% if article.image %}
<img src="{{article.image.url}}" alt="{{article.titre}}" style="width: 200px; height: 200px;">
{% endif %}
</ul>
{% endblock %}
Add this into your urls.py
after urlpatterns
在
urlpatterns
之后将urlpatterns
添加到您的urls.py
from django.conf import settings
if settings.DEBUG:
from django.conf.urls.static import static
urlpatterns += static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.