使用django引用css文件

时间:2010-12-12 16:09:58

标签: css django

我是Django框架的新手,在使用包含CSS文件的文档后遇到了一些麻烦。

我在settings.py中设置了媒体根目录 MEDIA_ROOT ='/ home / daniel / django / site1 / media /'

MEDIA_URL ='/ static /'

在其中我有我的css文件夹和文件

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

现在在我的html文件中,我如何引用CSS文件?

当我在本地开发时,我已经完成了Django Docs发送的内容并将MEDIA_URL保留为'/ static /'。

然后引用文件,我是否已经这样做了,但无济于事。

有人可以指出我正确的方向。

谢谢,

2 个答案:

答案 0 :(得分:1)

你应该可以像这样包含你的CSS:

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

此外,如果您正在运行django dev服务器,则必须启用静态文件服务。 尝试将以下内容添加到urls.py:

from django.conf import settings

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

请注意,对于生产用途,您应该禁用django中的静态文件服务,并配置您的网络服务器以接管静态内容的服务。

答案 1 :(得分: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" />