我是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 /'。
然后引用文件,我是否已经这样做了,但无济于事。
有人可以指出我正确的方向。
谢谢,
丹
答案 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" />