问题描述
urlpatterns = [
path('admin/',admin.site.urls),path('<lang>/',home_page),path('',home_redirect),path('products/',include('products.urls')),]
在此代码中未加载图像时
urlpatterns = [
path('admin/',path('<lang>/products/',]
if settings.DEBUG:
# add root static files
urlpatterns = urlpatterns + static(settings.STATIC_URL,document_root=settings.STATIC_ROOT)
# add media static files
urlpatterns = urlpatterns + static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)
我必须提到我的问题不是显示 404 页面......我的页面已加载但页面中的图像未加载并显示替代文本而不是图像
在“products.urls.py”中
urlpatterns = [
path('<category>',ProductsListByCategory),path('<category>/<product_id>/<product_name>',product_detail),]
和“product_list.html”
<img src="{{ product.image.url }}"class="img-fluid img-card " alt="
{{product.name }}">
我不知道解决它...
解决方法
看起来您的网址格式 '<lang>/<category>'
正在捕获您的所有媒体网址。 Django 使用第一个匹配 url 的 url 模式。更改添加媒体网址的方式:
if settings.DEBUG:
# add root static files
urlpatterns = static(settings.STATIC_URL,document_root=settings.STATIC_ROOT) + urlpatterns
# add media static files
urlpatterns = static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT) + urlpatterns
这将使您的媒体和静态 url 位于您的 urlpatterns 列表的开头,因此没有其他模式会首先捕获它们。