来自媒体文件夹的图像不显示 django 模板
Images from media folder is not displaying django template
我的媒体文件夹中有图像,我想显示它们,但 Django 不显示静态文件夹以外的图像。
在我的设置中
STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR,'static'),]
MEDIA_ROOT = BASE_DIR
MEDIA_URL = '/media/'
在我的 urls.py url 模式之后,我添加了这个
+ static(MEDIA_URL, document_root=MEDIA_ROOT)
在我的模板中
<img class="card-img-top" style="" src="{{result.object.thumbnail.url}}" alt=""></a>
<p>{{result.object.thumbnail.url}}</p>
显示的是正确的路径但没有显示图像,我无法找出问题所在。谢谢
您的 MEDIA_ROOT
有项目根目录的路径。您必须加入它,您 media
的目录。 (我想 media/
是您上传所有媒体文件的目录名称)
我认为你应该像那样 MEDIA_ROOT
。
MEDIA_ROOT = os.path.join(BASE_DIR,'media')
MEDIA_ROOT 有你项目的根路径。 MEDIA_URL 必须正确。检查以下
您的项目setting.py
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
urls.py 项目
urlpatterns = [
url(r'^admin/', admin.site.urls),
# url('', include('app1.urls')),
url('home/', myapp_views.index)
] + static(settings.MEDIA_URL,
document_root=settings.MEDIA_ROOT)
过去 5 天我遇到了同样的错误,遵循 django 文档,许多教程但对我没有用,但最终我找到了解决方案
我在家里显示 index.html 意味着我没有在我的应用程序和项目 url 文件 url 的 url 中给出任何端点
app/urls.py
urlpatterns = [
url(r'^admin/', admin.site.urls),
url('', 'views.index', name='index page'),
]
project/urls.py
urlpatterns = [
url(r'^admin/', admin.site.urls),
# url('', include('app1.urls')),
url('', myapp_views.index)
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
其余代码保持不变并且我在两个文件中更改了以下内容
app/urls.py
url('home/', 'views.index', name='index page'),
project/urls.py
url('home/', myapp_views.index)
这对我有用。如果也适合您,请采纳答案
这是我来自 django v3.2 运行 wagtail 的 HTTP 日志的一部分。看起来 django 正在 尝试 告诉我丢失的媒体在哪里,但无法告诉我。因为这是一个带有“特色页面”图库子图像的灌木丛页面,所以我浏览器中的视图源没有显示图像文件尝试,但我假设它与 OP 配置错误的问题相同 MEDIA_ROOT。奇怪的是,当我在 wagtail 管理中打开子页面时,在页面的链接图像中没有看到任何错误。任何人都知道为什么丢失的图像不会冒泡到 HTTP 日志,或者是什么导致“media/not-found”替换导致 404 的“真实”项目?
[25/Aug/2021 20:28:53] "GET /static/wagtailadmin/images/bg-dark-diag.svg HTTP/1.0" 200 700
未找到:/media/not-found
[25/Aug/2021 20:29:18] "GET /media/not-found HTTP/1.0" 404 3252
未找到:/media/not-found
[25/Aug/2021 20:29:18] "GET /media/not-found HTTP/1.0" 404 3252
我的媒体文件夹中有图像,我想显示它们,但 Django 不显示静态文件夹以外的图像。 在我的设置中
STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR,'static'),]
MEDIA_ROOT = BASE_DIR
MEDIA_URL = '/media/'
在我的 urls.py url 模式之后,我添加了这个
+ static(MEDIA_URL, document_root=MEDIA_ROOT)
在我的模板中
<img class="card-img-top" style="" src="{{result.object.thumbnail.url}}" alt=""></a>
<p>{{result.object.thumbnail.url}}</p>
显示的是正确的路径但没有显示图像,我无法找出问题所在。谢谢
您的 MEDIA_ROOT
有项目根目录的路径。您必须加入它,您 media
的目录。 (我想 media/
是您上传所有媒体文件的目录名称)
我认为你应该像那样 MEDIA_ROOT
。
MEDIA_ROOT = os.path.join(BASE_DIR,'media')
MEDIA_ROOT 有你项目的根路径。 MEDIA_URL 必须正确。检查以下 您的项目setting.py
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
urls.py 项目
urlpatterns = [
url(r'^admin/', admin.site.urls),
# url('', include('app1.urls')),
url('home/', myapp_views.index)
] + static(settings.MEDIA_URL,
document_root=settings.MEDIA_ROOT)
过去 5 天我遇到了同样的错误,遵循 django 文档,许多教程但对我没有用,但最终我找到了解决方案
我在家里显示 index.html 意味着我没有在我的应用程序和项目 url 文件 url 的 url 中给出任何端点
app/urls.py
urlpatterns = [
url(r'^admin/', admin.site.urls),
url('', 'views.index', name='index page'),
]
project/urls.py
urlpatterns = [
url(r'^admin/', admin.site.urls),
# url('', include('app1.urls')),
url('', myapp_views.index)
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
其余代码保持不变并且我在两个文件中更改了以下内容
app/urls.py
url('home/', 'views.index', name='index page'),
project/urls.py
url('home/', myapp_views.index)
这对我有用。如果也适合您,请采纳答案
这是我来自 django v3.2 运行 wagtail 的 HTTP 日志的一部分。看起来 django 正在 尝试 告诉我丢失的媒体在哪里,但无法告诉我。因为这是一个带有“特色页面”图库子图像的灌木丛页面,所以我浏览器中的视图源没有显示图像文件尝试,但我假设它与 OP 配置错误的问题相同 MEDIA_ROOT。奇怪的是,当我在 wagtail 管理中打开子页面时,在页面的链接图像中没有看到任何错误。任何人都知道为什么丢失的图像不会冒泡到 HTTP 日志,或者是什么导致“media/not-found”替换导致 404 的“真实”项目?
[25/Aug/2021 20:28:53] "GET /static/wagtailadmin/images/bg-dark-diag.svg HTTP/1.0" 200 700
未找到:/media/not-found [25/Aug/2021 20:29:18] "GET /media/not-found HTTP/1.0" 404 3252
未找到:/media/not-found [25/Aug/2021 20:29:18] "GET /media/not-found HTTP/1.0" 404 3252