根据代码,图像应该显示在index.html
模板上,但是img src
似乎有一些问题
我的models.py
from django.db import models
class Rockinfo(models.Model):
rock_name = models.CharField(max_length=200,default="ac/dc")
rock_img = models.ImageField(upload_to="%Y/%m/%d",default="1992/08/92")
rank = models.IntegerField(default=0)
def __str__(self):
return self.rock_name
我的admin.py
我的应用程序是urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.IndexView.as_view(), name='index'),
]
我的项目是models.py
from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
url(r'^rockinglist/', include('rockinglist.urls', namespace="rockinglist")),
url(r'^admin/', include(admin.site.urls)),
]
我的views.py
文件
from django.shortcuts import get_object_or_404, render
from django.http import HttpResponseRedirect, HttpResponse
from django.core.urlresolvers import reverse
from django.views import generic
from .models import Rockvids, Rockinfo
class IndexView(generic.ListView):
template_name = 'rockinglist/index.html'
context_object_name = 'latest_rockinfo_list'
def get_queryset(self):
return Rockinfo.objects.order_by('-rank')[:5]
index.html
文件
{% if latest_rockinfo_list %}
<ul>
{% for rockinfo in latest_rockinfo_list %}
<h1>{{ rockinfo.rock_name }}</a></li>
<img src="img\{{ rockinfo.rock_img }}" alt="ac/dc">
{% endfor %}
</ul>
{% else %}
<p>No</p>
{% endif %}
我认为问题在于图像。不知怎么的django无法访问图像。我想显示rock_name
以及相关的rock_img
。有人能帮我弄清楚吗出去。谢谢提前。在
首先检查您的设置中是否提供了
MEDIA_URL
。Django在开发期间不提供媒体服务器,因此您必须在项目的urls.py
中包含以下内容:在此之后,您可以使用访问模板中的图像
^{pr2}$在你的项目中网址.py,添加以下内容:
在你的设置.py文件,确保你有这个:
^{pr2}$在模板中:
注意:如果您的设置中未定义
BASE_DIR
,请将此内容放在设置文件的顶部:相关问题 更多 >
编程相关推荐