Django 找不到图像

问题描述 投票:0回答:1

当我通过 daphne 运行我的 Djanfo 应用程序时,出现错误警告未找到:/media/images/lcg.jpg

daphne -e ssl:8000:privateKey=ssl/privkey.pem:certKey=ssl/cert.pem website.asgi:application

我通过指南和文档设置了所有设置

设置.py

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

url.py

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('shop.urls')),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

index.html

{% for product in column1 %}
            <div class="item">
                {% if product.img %}
                <img src="{{ MEDIA_URL }}{{ product.img }}" alt="{{ product.name }}" class="product-img">
                {% endif %}

尝试添加 {% get_media_prefix as MEDIA_URL %} 但没有任何改变

来自数据库的product.img - images ilename.png 我有这个结构 enter image description here

我对静态文件也有类似的问题,但 ChatGPT 建议使用白噪声,它解决了问题 但不与img

django web frontend daphne media-url
1个回答
0
投票

编辑您的

asgi.py
并添加以下导入:

from django.contrib.staticfiles.handlers import ASGIStaticFilesHandler

然后更改以下行:

application = get_asgi_application()

application = ASGIStaticFilesHandler(get_asgi_application())
© www.soinside.com 2019 - 2024. All rights reserved.