CSS在Django的某些页面中不起作用

时间:2015-08-19 13:23:09

标签: python css django reference

我是Python和Django的初学者,我一直在努力解决以下问题:

在localhost:8000 / webiste很漂亮,工作正常但在localhost:8000 / invoice / SOME引用不起作用。例如,CSS不起作用,但图像和JavaScript可以。

我使用相对链接来指出我的路径。

    <script src="{% static "js/jquery.min.js" %}"></script>
    <script src="{% static "js/skel.min.js" %}"></script>
    <script src="{% static "js/skel-layers.min.js" %}"></script>
    <script src="{% static "js/init.js" %}"></script>

    <noscript>
        <link rel="stylesheet" href="{% static "css/skel.css" %}"/>
        <link rel="stylesheet" href="{% static "css/style.css" %}"/>
        <link rel="stylesheet" href="{% static "css/style-xlarge.css" %}"/>
    </noscript>

    <img src="{% static "images/pic07.jpg" %}" alt="" />

Settings.py

STATIC_URL = '/static/'

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "static/"),
)

View.py

def home(request):
  return render(request, 'principal.html',)

def invoice(request):
  return render(request, 'invoice.html',)

当我使用浏览器检查页面代码时,我看到链接被称为http://localhost:8000/invoice/static/css/somecss.css

invoice.html位于/ project / folder / templates /中,我的.css位于/ project / static / css /中。 invoice.html位于我的index.html(principal.html)页面的同一文件夹中,该页面正在运行。

此外,网站/发票/页面内的所有链接都成为网站/发票/链接,而不是网站/链接

1 个答案:

答案 0 :(得分:0)

问题已解决,删除了代码。另外由于js文件引用其他css文件导致控制台上出现404错误,我在模板中添加了一个变量来包含url:

<script>
  var url = "{% static 'css/' %}";
</script>

在.js里面我使用了url.concat(&#39; style.css&#39;)