python - CSS 不会从 Django 中的静态文件夹加载,HTTP 状态代码为 200

标签 python css django http django-staticfiles

我知道这些年来这个问题已经被问过数百次了here , here , here (和其他人)但我无法从我的静态文件夹加载我的 css 文件。

  • Django 1.7
  • python 2.7

我的命令行说

[07/Apr/2016 10:56:13] "GET / HTTP/1.1" 200 3596
[07/Apr/2016 10:56:13] "GET /static/compile/css/fbparse.min.6d40ca4cc832.css HTTP/1.1" 200 64
[07/Apr/2016 10:56:13] "GET /static/compile/js/fbparse.min.b40ef3f82f3a.js HTTP/1.1" 200 64

但是,我的日志文件显示

2016-04-07 10:45:14,333 [WARNING] django.request: Not Found: /static/compile/css/fbparse.min.6d40ca4cc832.css
2016-04-07 10:56:13,848 [WARNING] django.request: Not Found: /static/compile/css/fbparse.min.6d40ca4cc832.css
2016-04-07 10:56:13,852 [WARNING] django.request: Not Found: /static/compile/js/fbparse.min.b40ef3f82f3a.js

当然,站点不会加载 css 文件。

当我尝试

http://127.0.0.1:8000/static/compile/css/fbparse.min.6d40ca4cc832.css

它给我错误 404

这是我在设置文件中的内容

import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
rel = lambda *x: os.path.join(BASE_DIR, *x)

DEBUG = False

MEDIA_ROOT = rel('public', 'media')
MEDIA_URL = '/media/'
STATIC_ROOT = rel('public', 'static')
STATIC_URL = '/static/'


STATICFILES_DIRS = (
    rel('static_src'),
)

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

.....
)

这是我在 Base html 中的内容

<!DOCTYPE html>
{% load pipeline static i18n stats_tags %}
<html>
<head>
    <meta charset=utf-8 />

    <title>My site title</title>

    {% stylesheet 'global' %}

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
    {% javascript 'global' %}
    {% if debug %}
        <script src="{% static "components/less.js/dist/less.min.js" %}"></script>
        {% if LESS_DEBUG %}
            <script type="text/javascript">
                less.env = "development";
                less.watch();
            </script>
        {% endif %}
    {% endif %}

</head>

我试过将静态文件夹放在根目录、public 和 static_src 中,但似乎没有任何效果。

谁能告诉我我做错了什么?

最佳答案

您是否使用了manage.py runserver

在那种情况下,你想使用 DEBUG = False 的开发服务器,你可以通过 manage.py runserver --insecure 来模拟它。

如果您想像 Apache 一样使用 WAS 部署您的 django 元素,您需要独立地提供您的静态文件,如 Docs 中所述。 .

关于python - CSS 不会从 Django 中的静态文件夹加载,HTTP 状态代码为 200,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36465083/

相关文章:

html - Bump Up Hover 效果,破坏元素下的线条

python - Django 类型错误未提供异常

python - 在OpenCV中获取多个小轮廓的外部轮廓

python - 使用 SQLAlchemy 更新 PostgreSQL 数组

python - QTableWidget 整数

python - 在 Django 中的 SAP 和 DataModel 之间同步数据

django - Django和PayPal集成

Python 正则表达式查找单词中间具有指定字符且不以字符开头或结尾的单词。

php - 在我的网站中通过鼠标右键单击来控制链接

javascript - 当滚动条到达特定位置时动画 div