2010-11-10 20 views
0

也許這個問題已經被問了很多,
但我仍然無法理解如何使用Django時加載CSS文件... 請任何人都可以向我解釋一步一步如何加載它?
我可以加載沒有靜態文件夾或鏈接的CSS文件,所以我不需要更改urls.conf,只需在「setting.py」文件中設置?CSS JavaScript的圖像在Django

(很抱歉,如果我的英語不好「):(

+0

類似:HTTP ://stackoverflow.com/questions/261223/how-do-i-use-css-in-django – JAL 2010-11-10 09:46:25

+0

雅...但我仍然不明白...(靜態部分) – 2010-11-10 09:48:12

+0

我不確定我是否理解你的問題。您在設置媒體文件夾時遇到問題? – JAL 2010-11-10 09:50:16

回答

2

本地機器上:你必須添加:

(r'^site_media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': '/path/to/media'}), 

你沒有一臺服務器上(多你不應該出於安全原因)需要前行。

所以最後:這裏是我的架構:

project/ 
    app1/ 
    __init.py__ 
    views.py 
    public/ 
    site_media/ 
     js/ 
      example.js 
     css/ 
      example.css 
在我的settings.py

MEDIA_ROOT = '/thecompletepath/public/site_media/' 
MEDIA_URL = '/site_media/' 

,並在我的模板,我使用:

<link rel="stylesheet" type="text/css" href="/site_media/css/example.css" media="screen" /> 
+0

在您的視圖中使用'RequestContext'並使用'{{MEDIA_URL}}''代替'/ site_media /',並且您是黃金。你還應該提到,「在服務器上你不需要......以前的行」,你的意思是應該使用服務器特定的配置來通過服務器而不是通過django來服務於媒體。 – eternicode 2010-11-10 16:27:26

2

只是一個正常的鏈接標記添加到您的模板。

<link rel="stylesheet" type="text/css" href="http://example.com/path/to.file.css"> 

除非你有一個動態的CSS文件,你不希望有它與urls.py中的任何內容相關。同樣,如果您不使用媒體(靜態)文件夾,則無需在settings.py中更改任何內容,只需將其插入到模板中的HTML中即可。

如果你不想使用外部CSS文件,當然,你總是可以把<style>標籤到您的模板中。