Django没有为某些模板文件正确加载CSS

时间:2013-09-29 23:40:53

标签: css django twitter-bootstrap django-forms django-views

我正在使用twitter-bootstrap设计我的页面..我已经创建了一个 base.html 文件,该文件将成为我要扩展的所有模板的全局基本文件。

我的问题是当我为所有模板扩展 base.html 时。它不显示CSS而是以纯HTML格式显示所有内容。当我查看页面源时,javascript和CSS文件是可见的。 (这意味着这些文件已正确加载但未显示)

settings.py

STATIC_URL = '/static/'

STATIC_ROOT = '/var/www/static/'

STATICFILES_DIRS = '/home/User/workspace/project/static'

我的项目结构如下:

-App1
   -templates
     - sample.html (which extends base.html)
-App2
-App3
-App4
-static
  -css
     -bootstrap.css
  -js
     -bootstrap.js
     -jquery.js
-templates
  -base.html

我不明白可能是什么问题。任何帮助都会非常棒!

2 个答案:

答案 0 :(得分:0)

不要像字符串那样使用STATICFILES_DIRS。

导入操作系统并使用sep函数查找静态文件目录。这就是我的方式:

import os
STATIC_ROOT = ''
STATIC_URL = '/static/'
STATICFILES_DIRS = (
    os.sep.join([os.path.dirname(os.path.dirname(__file__)), 'static']),
)

答案 1 :(得分:0)

我所做的并且对我真正有帮助的是:

  1. 转到settings.py并在文件末尾添加-> STATICFILES_DIRS = [os.path.join(BASE_DIR,'static')]。

  2. 转到您的templates文件夹中的基本html模板,并在开头部分添加这两行(只需确保以静态方式创建一个文件夹。就我而言,它是css,如下图所示,可以为其他名称):

    a){% load static %} b)<link rel="stylesheet" type= "text/css" href="{% static 'css/mystyle.css'%}">