所以我在最后一小时一直撞到墙上,似乎无法弄清楚为什么我的模板渲染时没有静态媒体(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/
答案 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。