Skip to main content
 首页 » 编程设计

python之在 django 中显示来自管理面板的图像时出错

2024年10月01日34emanlee

我试图从 django 管理面板上传图片,并进行了以下更改。但是,当我尝试在 wine_list 页面和 review_list 中加载图片时出现此错误。图片存储在媒体中,但它不是正在显示:

Page not found (404) 
Request Method: GET 
Request URL:    http://127.0.0.1:8000/static/media/download_1.jpg 
Raised by:  django.views.static.serve 
'media\download_1.jpg' could not be found 

这是 wine_list 的代码

{% extends 'base.html' %} 
 
{% block title %} 
<h2>Wine list</h2> 
{% endblock %} 
 
{% block content %} 
{% if wine_list %} 
{% load static %} 
 
<div> 
    {% for wine in wine_list %} 
     <div><ul> 
    <li> 
        <h4><a href="{% url 'reviews:wine_detail' wine.id %}"> 
        {{ wine.name}}</a> 
         <br> 
        <a><img src="{% static wine.images.url %}" height="200"></a>   
        <br> 
        <br> 

这里是 review_list 中图片部分的代码:

{% extends 'base.html' %} 
 
{% block title %} 
<h2>Latest reviews</h2> 
{% load static %} 
{% endblock %} 
 
{% block content %} 
{% if latest_review_list %} 
<div class="row"> 
    {% for review in latest_review_list %} 
    <div class="col-xs-6 col-lg-4"> 
 
 
 
 
        <h4><a href="{% url 'reviews:review_detail' review.id %}"> 
        {{ review.wine.name }} 
 
        </a></h4> 
 <br> 
       <a><img src="{% static review.wine.images.url %}" height="200"></a>     

winerama 文件夹的 urls.py

from django.conf.urls import include, url 
from django.contrib import admin 
from django.conf import settings 
from django.conf.urls.static import static 
 
urlpatterns = [ 
    url(r'^reviews/', include('reviews.urls', namespace="reviews")), 
    url(r'^admin/', include(admin.site.urls)), 
    url(r'^accounts/', include('registration.backends.simple.urls')), 
    url(r'^accounts/', include('django.contrib.auth.urls', namespace="auth")), 
 
] 
 
if settings.DEBUG: 
    urlpatterns += static(settings.STATIC_URL,document_root=settings.STATIC_ROOT)    
    urlpatterns += static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT) 

请您参考如下方法:

检查你的设置文件是否设置了静态图片路径:

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

还要检查图像文件权限。它可以从任何地方访问。