Django CSS&静态媒体未加载

时间:2012-10-12 19:36:41

标签: django django-templates

所以我在最后一小时一直撞到墙上,似乎无法弄清楚为什么我的模板渲染时没有静态媒体(CSS,图像,JS等)。 有人可以帮我找出我需要做出的调整吗?以下是来自Settings.py,Index.html和样式表的摘要,如果需要更多内容,请告诉我。

我的静态文件位于以下目录中: / djangoproject /网站/静态

Settings.py    -  Located /djangoproject/djangoprojectname/
STATIC_ROOT = os.path.normpath(os.path.join(PROJECT_ROOT,
"/static/"))

STATIC_URL = '../website/static/'

这是我的index.html的一个片段,应该用{{STATIC_URL}}

调用css样式表
Index.html  - Location /djangoproject/website/templates/  
<link rel="stylesheet" href="{{ STATIC_URL }}css/style.css">

CSS StyleSheet的位置

style.css - Location /djangoproject/website/static/css/

2 个答案:

答案 0 :(得分:2)

来自Django文档:

  

如果{{STATIC_URL}}在您的模板中无效,您可能就是这样   在渲染模板时不使用RequestContext。

     

作为一个简短的复习,上下文处理器将变量添加到   每个模板的上下文。但是,上下文处理器需要这样   在渲染模板时使用RequestContext。有时候是这样的   如果您使用的是通用视图,则会自动显示,但是在写入的视图中   你需要明确使用RequestContext来看看它是怎么回事   工作,并阅读更多详细信息,请查看Subclassing Context:RequestContext

答案 1 :(得分:1)

在我看来,您将STATIC_URL设置为路径,应将其设置为URL。您需要将其设置为包含css文件的文件夹的Web地址,例如:

STATIC_URL = 'http://mydomain.com/static_files/'

通过在浏览器中输入您希望的地址,尝试在线查找CSS文件。一旦你以这种方式找到CSS文件,只需复制那个让你在那里的根URL。