【发布时间】:2018-09-10 15:26:36
【问题描述】:
我从堆栈溢出中查看了这个问题。 question 1 question 2 关于在模板中显示图像字段并进行相应操作。但是,尽管图像已正确上传到文件夹,但图像未显示在模板中。
models.py
class Book(models.Model):
book_thumbnail = models.ImageField(upload_to='images/%Y/%m/%d', blank=True, null=True)
views.py
def home(request):
book = Book.objects.all()
return render(request, 'books/books.html', context={'books': book})
模板.html
<img class="group list-group-image" src="{{ books.book_thumbnail.url }}" width='240' alt="alt" />
settings.py
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
urls.py
urlpatterns = [
path('books/', views.home),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
【问题讨论】:
-
1) 当模板被渲染时,您需要检查模板是否显示正确的 url 而不是 {{ books.book_thumbnail.url }}。 2) 您需要检查 MEDIA_ROOT 显示的目录是否正确,相对路径可能存在问题
-
一切正常
-
您能否仅显示 {{ books.book_thumbnail.url }} 实际呈现的 url 以及如果您打印 MEDIA_ROOT 会看到什么
标签: django django-models