我正在使用Django模板来显示电影海报的缩略图。这是我的观看代码:
@csrf_exempt
def hello(request):
t = get_template('index.html')
c = django.template.Context({'test':'http://ia.media-imdb.com/images/M/MV5BMjIwNTYzMzE1M15BMl5BanBnXkFtZTcwOTE5Mzg3OA@@._V1_SX300.jpg'})
return HttpResponse(t.render(c))
在我的模板中,我正在尝试使用此图像来显示缩略图:
<li>
<img src="{{ test }}" alt="" title="" class="property_img"/>
</li>
我收到此错误:
GET http://ia.media-imdb.com/images/M/MV5BMjIwNTYzMzE1M15BMl5BanBnXkFtZTcwOTE5Mzg3OA@@._V1_SX300.jpg 403(禁止)
我的本地静态文件正在运行,但是如果我想从Web服务器获取图像呢?
答案 0 :(得分:0)
这是由ia.media-imdb.com
的Web服务器(Apache,Nginx等)引起的。
他们的网络服务器会检查每个访问者的HTTP REFERER
标头,并且只允许访问图像,如果访问者来自某些域。
这是限制hotlinking to images数量的常见设置(当人们直接链接到其他主机上的图像文件时)。通常会阻止热链接,因为它会导致流量而不会真正使网站成为真正的访问者。
解决方案是链接来自不同网站的图片,这不会阻止热链接。