我知道这些年来这个问题已经被问过数百次了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/