【发布时间】:2016-07-27 16:18:51
【问题描述】:
我知道多年来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 中,但似乎没有任何效果。
谁能告诉我我做错了什么?
【问题讨论】:
-
你的
static文件夹中真的有这个文件吗? -
是的。我已经检查了很多次以确保我有那个。还检查了内容是否正确 - 文件名是否正确等。一切都在那里..
-
为你设置静态文件..试试这些
STATIC_PATH = os.path.join(BASE_DIR,'static')STATIC_URL = '/static/' # You may find this is already defined as such.STATICFILES_DIRS = ( STATIC_PATH, ) -
最重要的是使用
{% load staticfiles %}。导入"{% static "test.css" %}"等静态文件 -
@ManishGupta 尝试了你所建议的一切。不工作。根据 http 错误代码,可能是 URL.py 问题,但仍未解决
标签: python css django http django-staticfiles