2012-11-29 67 views
0

我是django的新手,我試圖將css文件鏈接到模板。無法鏈接模板中的css文件

  1. 我使用的研究與開發服務器
  2. 在我的項目在settings.py我的應用「django.contrib.staticfiles」
  3. 在我project/app文件夾我有static文件夾,裏面file.css
  4. index.html文件(在project/app/templates/app之內)我嘗試使用<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}/file.css" />,並且還嘗試使用STATIC_URL

不幸的是變量STAIC_URL(和MEDIA_URL)是空字符串,所以結果url是/file.css

可以any1幫我嗎?我知道settings.py中的一些STATIC_URL變量在哪裏,但StaticFinder應該在app/static中找到autmaticaly文件,不應該嗎?

回答

1

您需要使用RequestContext或render快捷方式,以確保運行上下文處理器並將變量添加到模板中。

+0

完美,謝謝!還有一個問題 - 它會在非開發服務器上工作嗎? – user606521

+0

取決於你的意思是「工作」。正如文檔解釋的那樣,在生產服務器上,您需要設置您自己的配置來提供靜態文件。一旦你完成了,並適當設置了STATIC_URL,上面的工作就可以實現。 –

+0

這很愚蠢 - 所以當我製作自己的應用程序並將應用程序提供給某人時,如果他想使用它,他必須在他的項目settings.py中添加一些靜態路徑給靜態文件。 – user606521

0

這是Django doc page與所有所需的信息。

您可能忘記設置STATIC_ROOTSTATIC_URLsetting.py,然後運行命令./manage.py collectstatic這將收集項目靜態目錄中的所有應用程序的所有靜態文件。