我已经启动了一个新的Django 1.8项目,并且正在尝试在开发环境中提供静态文件。我很确定我明确地遵循了文档,但它只是不起作用。
Settings.py
STATICFILES_DIR = (
os.path.join(BASE_DIR, 'static/'),
BASE_DIR
)
STATIC_URL = '/static/'
STATIC_ROOT = '/srv/www/cpm2/static/'
urls.py :
from django.conf.urls import include, patterns, url
from django.conf import settings
from django.conf.urls.static import static·
from django.contrib import admin
from django.views.generic import TemplateView
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^test/', TemplateView.as_view(template_name="basics/base.html")),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
模板/基础/ base.html文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
{% load staticfiles %}
<link href="{% static 'css/bootstrap.css' %}" rel="stylesheet">
</head>
<body>
<h1>Hello, world!</h1>
</body>
</html>
当我转到http://my_server_ip:8000/test/
时,没有加载任何CSS。查看页面源代码,我看到CSS链接为<link href="/static/css/bootstrap.css" rel="stylesheet">
的地方很好,但是当我尝试直接关注该链接时,它无法给我404错误。
现在,我已经设置了我的Apache服务器来直接提供文件,它们可以工作。所以,转到http://my_server_ip/static/css/bootstrap.css
工作 - 所以我知道文件是可读的。只是他们没有在开发中工作。
我做错了什么?和我之前的许多人一样,我把头发拉出来了!
编辑 尝试直接访问该文件就是这样:
Page not found (404)
Request Method: GET
Request URL: http://my_server_ip:8000/static/css/bootstrap.css
Raised by: django.views.static.serve
'css/bootstrap.css' could not be found
You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 404 page.
它甚至没有显示其尝试过的地点列表,只是找不到该文件。
答案 0 :(得分:8)
你错过STATICFILES_DIRS
的's'。
此外,你不应该在你的BASE_DIR
中包含你的git clone git@github.com:searls/jasmine-maven-plugin.git
- 这可能最终会提供你所有的python代码,这是一个坏主意。