python - 无法在模板中显示使用 ImageField 上传的图像
问题描述
所以,我有一个博客应用程序,当我想使用 ImageField 文件浏览器将封面图片添加到文章中时,我的图片名称在 PyCharm 中变红并且没有显示在模板中。但是当我检查它的 HTML 代码源时,图像的路径是正确的。这是我的代码:
articles.html
:
<a href="/"><img src="{{ article.image.url }}" class="image"/></a>
settings.py
:
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
models.py
:
class Article(models.Model):
title = models.CharField(max_length=100)
description = models.CharField(max_length=200)
content = HTMLField()
# image = models.CharField(max_length=2000)
image = models.ImageField(upload_to='media')
category = models.ForeignKey(Category, on_delete=models.CASCADE, null=True)
post_date = models.DateTimeField(auto_now_add=True)
slug = models.SlugField(unique=True, null=True, editable=False)
def __str__(self):
return self.title
def save(self, *args, **kwargs):
self.slug = latin_slugify(self.title)
super(Article, self).save(*args, **kwargs)
urls.py
:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
解决方案
正是因为DEBUG = False
,改变了它的价值来True
解决问题。
推荐阅读
- c# - 时间:2019-05-10 标签:c#windowsshudownprocess怪异
- bash - 如何通过循环遍历 TSV 将选项分配给下标?
- google-cloud-platform - 创建实例模板时的 Terraform GCP,获取源图像的相对路径时出错
- python-3.x - 如何更改python环境
- javascript - 避免 keyup 输入 ajax 调用的重复结果;杀死以前的ajax调用
- java - 外部化属性文件 - Widlfly & Struts 1.x
- oracle - 将 SQL 脚本作为 Windows 批处理文件运行
- c# - 拆分多个 linq include()
- android - 如何使用 Kotlin 从非活动类中查找 ListView?
- php - 如何处理内联 SVG 的重复 ID?