我试图从 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/')
还要检查图像文件权限。它可以从任何地方访问。
