2010-12-12 136 views
0

我是Django框架的新手,並且在包含CSS文件的文檔後遇到了一些麻煩。用django引用css文件

我已經建立了一個媒體的根在settings.py MEDIA_ROOT = '/家庭/丹尼爾/ Django的/ site1的/媒體/'

MEDIA_URL = '/靜態/'

而且我內有我的css文件夾和文件

/home/daniel/django/site1/media/css/style.css

現在,在我的HTML文件,我怎麼然後引用CSS文件?

由於我在本地開發,我已經完成了Django Docs發送的內容並將MEDIA_URL保存爲'/ static /'。

然後引用這些文件,我做了這些,但無濟於事。

有人可以請指點我正確的方向。

感謝,

回答

1

你應該能夠包括像這樣你的CSS:

<link href="/static/css/style.css" rel="stylesheet" type="text/css" /> 

此外,如果你正在運行Django的開發服務器,您必須啓用靜文件服務。 嘗試添加以下到您的urls.py:

from django.conf import settings 

urlpatterns = patterns('',  
    (r'^static/(?P<path>.*)$', 'django.views.static.serve', 
           {'document_root': settings.MEDIA_ROOT}), 

請注意,在生產中使用,你應該禁用靜態文件Django的內服務,並配置你的網絡服務器接管的靜態內容服務。

+0

恐怕不會與工作,和我一起 – daniel 2010-12-12 16:27:28

+0

<鏈接HREF之前試過=」 {{STATIC_URL}}/style.css「rel =」stylesheet「type =」text/css「/>。 – daniel 2010-12-12 16:27:53

+0

你使用的是django dev服務器嗎?如果是的話你是否啓用了靜態文件服務? – 2010-12-12 16:37:22

0

追加到urls.py

from django.db import settings 
# Media (development) 
# Serves media content. WARNING!! Only for development uses. 
# On production use lighthttpd for media content. 
# Set DEBUG to False in production. 
if settings.DEBUG: 
    # Delete the first trailing slash, if any. 
    if settings.MEDIA_URL.startswith('/'): 
     media_url = settings.MEDIA_URL[1:] 
    else: 
     media_url = settings.MEDIA_URL 

    # Add the last trailing slash, if have not. 
    if not media_url.endswith('/'): 
     media_url = media_url + '/' 

    urlpatterns += patterns('', 
     (r'^' + media_url + '(?P<path>.*)$', 'django.views.static.serve', 
      {'document_root': settings.MEDIA_ROOT} 
     ), 
    ) 

,然後在模板:

<link rel="stylesheet" href="{{ MEDIA_URL }}css/style.css" />