css - Django CSS 全站静态文件

标签 css django

我正在努力让 css 在我的 Django 元素中全局工作。

我有一个名为“project_static”的 STATICFILES_DIRS,其中包含一个 css 文件。 这是我元素的根目录。 在我的 settings.py 中我有:

STATICFILES_DIRS = (
'/Users/gavinhinfey/django_projects/ss_stream/project_static/',
)

在 base.html 中我有:

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

{% block content %}
{% endblock content %}

当我在我创建的应用程序“流”中的页面模板中时,css 文件链接正常。但是,当我查看不特定于应用程序的页面模板时,它看不到 css。

知道这是为什么吗?

我已尽力解释这一点,但如果您需要澄清问题,请询问。

谢谢 加文

最佳答案

{{STATIC_URL}} 已被弃用(我认为)所以它可能只呈现 css/main.css

我建议你配置如下:

settings.py

import os.path

PWD = os.path.dirname(os.path.realpath(__file__))  # project root path

STATICFILES_DIRS = (
    PWD + '/static/',  # or project_static, whatever
)

base.html

{% load static %}

<link rel="stylesheet" href="{% static 'css/main.css' %}">

这样您就可以在设置中使用相对路径,并且如果您将整个元素移出您的主目录,则可以避免破坏设置。

您可以将它用于每个路径设置,例如 LOCALE_PATHSTEMPLATE_DIRS

如果这还不起作用,请检查您是否有这些设置:

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    # 'django.contrib.staticfiles.finders.DefaultStorageFinder',
)

# optional but if you defined it be sure to have this one:
TEMPLATE_CONTEXT_PROCESSORS = (
    # ...
    'django.core.context_processors.static',
    # ...
)

关于css - Django CSS 全站静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18190371/

相关文章:

javascript - 水平 CSS 或 Javascript "help scrolling",使其元素保持全宽

html - DIV 未垂直覆盖整个内容

javascript - 无法在 'this' 函数内的函数内使用 'each' 定位 div

css - 不使用绝对定位的全页宽度

django - 如何在自引用外键中使用现有查询引用所有子对象?

python - 如何使用 Django 活塞以文本/纯文本形式返回响应?

python - Django Elastic Beanstalk 部署显示 404

html - 调整浏览器窗口大小时,div 不会停留在原位并向上移动

python - Django 分页中的 EmptyPage 错误

python - 如何为 ManyToMany 记录添加时间戳