我有一个django项目,我正在尝试将幻灯片加载到光滑的轮播中(http://kenwheeler.github.io/slick/)。我有以下内容:
<div class="your-class">
<div>your content</div>
<div><IMG src="https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcSj2c33fdt1ugB8VBuE5V37wnmPoxWMknX9JnGycNiH2yr3BpDKVA"></div>
<div><IMG src="//static/img/slides/slide1.jpg"></div>
<div>your content</div>
您可以在上面看到文件结构。我有旋转木马工作,但当我到达&#39; slide1&#39;它给出了标题中的错误。如何正确设置路径?
答案 0 :(得分:1)
首先,您需要在settings.py
中设置STATICFILES_DIRS变量STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'), )
然后在模板中重新加载静态文件:
{% load staticfiles %}
最后使用类似的东西:
<div><IMG src="{% static 'img/slides/slide1.jpg' %}"></div>
答案 1 :(得分:1)
您在slide1.jpg
网址中缺少主机名:
<div><IMG src="//static/img/slides/slide1.jpg"></div>
通过这种方式,您告诉浏览器该图像位于名为&#34; static&#34;的主机名中,并且该名称未被解析。
如果图片托管在托管您网页的同一服务器名称上,则应删除其中一个第一个斜杠,以将您的网址从protocol-relative URL转换为absolute path:
<div><IMG src="/static/img/slides/slide1.jpg"></div>
另一方面,如果您真正使用协议相对URL,则需要在URL中定义服务器名称:
<div><IMG src="//www.yourserver.com/static/img/slides/slide1.jpg"></div>
-
注意:您应该查看sgmart answer,因为Django的静态文件模板支持可以帮助您为项目静态文件创建正确的URL。