如何在Django模板中加载CSS?

Joh*_*ohn 4 css django django-templates

我在为Django模板加载CSS时遇到问题.

我有以下设置:

STATIC_ROOT = ''
STATIC_URL = '/css/'
STATICFILES_DIRS = ("/css")
INSTALLED_APPS = (
    'django.contrib.staticfiles',
)
Run Code Online (Sandbox Code Playgroud)

我需要同时使用static_url,也staticfiles_dirs

urls.py是

urlpatterns = patterns('',
    (r'^$',homefun),
)
Run Code Online (Sandbox Code Playgroud)

views.py是

def homefun(request):
    return render_to_response('home.html')
Run Code Online (Sandbox Code Playgroud)

父模板是base.html,它加载了css.

<link rel="stylesheet" type="text/css" href="/css/style.css" />
Run Code Online (Sandbox Code Playgroud)

neo*_*tic 7

您需要{{ STATIC_URL }}在模板中使用变量,如下所示:

<link rel="stylesheet" href="{{ STATIC_URL }}style.css">
Run Code Online (Sandbox Code Playgroud)

Django官方文档对提供静态文件有很好的解释.

必须设置STATIC_ROOT变量.使用STATICFILES_DIRS是可选的,默认情况下Django在static所有应用程序的目录中搜索.


Dav*_*ver 7

STATICFILES_DIRS = ("/css")应该实际上STATICFILES_DIRS = ("/path/to/your/css", )(注意尾随逗号 - 必要因为(eggs)计算值eggs,但尾随逗号强制它评估为元组).