在 django 的几个页面中,图像没有从 base.html 显示
Posted
技术标签:
【中文标题】在 django 的几个页面中,图像没有从 base.html 显示【英文标题】:Image is not getting displayed from base.html in few pages in django 【发布时间】:2016-09-15 23:05:15 【问题描述】:我有一个 base.html,我也将它扩展到其他页面。在少数页面中显示图像,但在少数页面中不显示。除了图片之外,还显示了 header 、 section 之类的所有内容。
% load staticfiles %
some more --like header , section
<footer>
<div id="footer">
% block footer %
<a href="https://github.com/shanker4999"> <img src ="../../static/blog/images/git.png"></a>
<p>© 2016 shankar.</p>
% endblock %
</div>
我的模板文件
% extends 'blog/base.html' %
% block content %
<h1>Articles for year </h1>
% for article in article_list %
<h4><a href="/blog/article.id/"> article.headline </a></h4>
<h5>Posted by <strong> article.reporter </strong>
on article.pub_date|date:"F j, Y"</h5><hr/>
% endfor %
% endblock %
网址` 从 django.conf.urls 导入 url 从 。导入视图
urlpatterns = [
url(r'^$',views.index,name='index'),
url(r'article/(?P<year>[0-9]4)/$', views.year_archive, name='year_archive'),
url(r'article/(?P<year>[0-9]4)/(?P<month>[0-9]2)/$', views.month_archive, name='month_archive'),
url(r'(?P<article_id>[0-9]+)/$',views.article_detail,name='article_detail'),
url(r'^comment/(?P<article_id>[0-9]+)/$' ,views.comment,name='comment'),
url(r'^contact',views.contact,name='contact'),
]` 意见
ef year_archive(request,year):
#year=str(pub_date)[0:4]
year=year
try:
article_list = Article.objects.filter(pub_date__year=year)
except Article.DoesNotExist:
raise Http404("Article does not Exists")
context = 'year':year, 'article_list':article_list
return render(request, 'blog/year_archive.html',context)
【问题讨论】:
【参考方案1】:你正在加载staticfiles
,但你从未真正使用它,你应该使用static
模板标签
"../../static/blog/images/git.png"
应该是
% static 'blog/images/git.png' %
你也应该使用url模板标签..
【讨论】:
【参考方案2】:这是因为您没有使用正确的 src。您应该让静态函数处理静态文件。当 url 更改时,../../
将不再正确,具体取决于路径。
您应该在 settings.py 文件中配置静态目录,然后像这样引用您的图像:
<img src ="% static 'blog/images/git.png' %"></a>
【讨论】:
以上是关于在 django 的几个页面中,图像没有从 base.html 显示的主要内容,如果未能解决你的问题,请参考以下文章
使用 Django 在 Heroku 上接收带有图像的特定页面的服务器错误 500(由 WhiteNoise 提供静态服务)