媒体文件未在模板中正确加载 (HTML <img>)。静态文件/图像正常工作

Posted

技术标签:

【中文标题】媒体文件未在模板中正确加载 (HTML <img>)。静态文件/图像正常工作【英文标题】:Media files are not loading properly in the template (HTML <img>). Static files / images are working correctly 【发布时间】:2019-05-31 10:01:42 【问题描述】:

从数据库中提取媒体文件时未正确加载。虽然,在检查页面时,来源似乎是正确的。

我已经进行了迁移,collectstatic。静态文件加载到html文件中

settings.py

STATIC_URL = '/static/'

STATIC_ROOT = os.path.join(BASE_DIR, 'static')

MEDIA_URL = '/media/'

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

urls.py

 urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^', cars.views.index_page, name='index_page'),]

 urlpatterns += static(settings.STATIC_URL, document_root = settings.STATIC_ROOT)

 urlpatterns += static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)

models.py

nuotrauka = models.ImageField(default='default.jpg', blank=True)

index.html

 % for detail in carDetails %

     <img src="detail.nuotrauka.url" >

 % endfor %

图片很简单,没有加载。似乎图像 src 无法找到图像或媒体文件夹在 BASE_DIR 中未被识别。我可能只是简单地遗漏了一些东西,但此时我无法看到它。

我确实认为它与文件夹结构有关,甚至可能与 BASE_DIR 有关。因为URL好像没问题,但是找不到文件

【问题讨论】:

【参考方案1】:

在:

urlpatterns += static(settings.STATIC_URL, documnet_root = settings.STATIC_ROOT)

你写错了(文件)。

干杯:)

【讨论】:

不错,但这并没有解决问题。我确实认为它与文件夹结构有关,甚至可能与 BASE_DIR 有关。因为URL好像没问题,但是找不到文件 你是否也在 documnet_root = settings.MEDIA_ROOT 中修复了它? 是的,我做到了。它仍然无法正常工作。我在检查页面时确实看到了这一点` `

以上是关于媒体文件未在模板中正确加载 (HTML <img>)。静态文件/图像正常工作的主要内容,如果未能解决你的问题,请参考以下文章

基本模板未在 Django 中加载

JAR 中的资源未在 IntelliJ 中正确解析

vue.js - 未在实例上定义,但在渲染期间引用

未在 TableView 中重新加载正确的数据

提交表单数据后,页面未在 laravel 中正确加载

GRID 未在 ExtJS 4 中使用 Store 正确呈现