【问题标题】:How to set the path for css for django apps如何为 django 应用程序设置 css 的路径
【发布时间】:2017-03-22 21:36:34
【问题描述】:

我了解当在模板“APP_DIRS”下的 settings.py 中设置为 True 时,django 将在应用程序中查找模板。但是,就我而言,我想为所有应用程序使用一个 style.css 文件。具体来说,我想将它用于django-registration。 当我查看代码时

<link rel="stylesheet" href="style.css" />

结果它找不到它,即使在我的 base.html 中我将它设置为:

<link rel="stylesheet" href="{{ STATIC_URL }}style.css" />

所以我希望它能够正确找到样式表,我将其放入项目(不是应用程序)/static 的主文件夹中。

我做错了什么?感谢您提供任何帮助,以便我可以让所有应用程序和外部应用程序(例如 django-registration)访问相同的样式表。

我放了

{% load staticfiles %} <!-- at the beginning -->
...
<link href="{% static 'style.css' %}">

a 文件的开头,但样式表仍然没有影响。我怎样才能最好地调试这个问题?

【问题讨论】:

    标签: css django registration


    【解决方案1】:

    在您的情况下,style.css 需要是一个静态文件,因此它需要位于您的“静态”文件夹中(或者您存储静态文件的任何其他位置,包括在应用程序中)。

    您正在错误地编写模板。它应该看起来像这样 - base.html:

    {% load staticfiles %} <!-- at the beginning -->
    ...
    <link href="{% static 'style.css' %}">
    

    然后,如果您的 django-registration 模板使用 {% extends "base.html" %} 从 base.html 初始化,则应该加载您的 style.css

    【讨论】:

    • 不幸的是,这不起作用。样式表没有影响。我怎样才能最好地调试这个?
    • 您的其他静态文件是否正常工作? Django 有很好的静态文件文档,所以检查一下。如果样式表确实出现了,那可能是 CSS 问题。
    • 我只是设法让它在使用&lt;link rel="stylesheet" href="{% static "my_app/style.css" %}"&gt; 引用样式表时起作用。这可能是什么原因?有没有办法将样式表放在根文件夹静态而不是应用程序中的那个?
    • 太棒了。你得到它的工作。只要您将os.path.join(BASE_DIR, 'static'), 放入您的settings.py 文件中的STATICFILES_DIRS,您就应该将静态文件放在名为“static”的根目录中。
    • 在我的世界里似乎不是这样
    猜你喜欢
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 2012-07-25
    • 1970-01-01
    • 2011-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多