Django模板不能看到CSS文件 [英] Django template can't see CSS files
问题描述
我正在建立一个django应用程序,我无法获得模板来看到CSS文件...我的settings.py文件看起来像:
MEDIA_ROOT = os.path.join(os.path.abspath(os.path.dirname(__ file__)),'media')
MEDIA_URL ='/ media /'
我有/ mysite / media / css /中的CSS文件,模板代码包含:
< link rel =stylesheettype =text / csshref =/ media / css / site_base.css/> ;`
那么,在url.py文件中我有:
#DEVELOPMENT ONLY
(r'^ media /(?P< path>。*)$','django.views.static.serve' ,
{'document_root':'/ media'}),
服务于纯HTML(没有样式)。我究竟做错了什么?
-
确定 - 根据您所说的内容,答案是:
settings.py:
MEDIA_ROOT = d:// web // mysite // media //'#absolute media to media
pre>
MEDIA_URL ='/ mymedia /'#because admin已经使用/ media
site_base.html:
< link rel = stylesheettype =text / csshref =/ mymedia / css / site_base.css/>
urls.py
from mysite import settings
if settings.DEBUG:
urlpatterns + = patterns('',
(r'^ mymedia /(?P< path& $','django.views.static.serve',
{'document_root':settings.MEDIA_ROOT}),
)
和瞧!
解决方案在您的urls.py中的仅开发区块中,您需要更改
(r'^ media /(?P< path>。*)$','django.views.static.serve',
{'document_root':'/ media'}),
到...
(r'^ media /(?P< path>。*)$','django.views.static.serve',
{'document_root':settings.MEDIA_ROOT}),
I'm building a django app and I can't get the templates to see the CSS files... My settings.py file looks like:
MEDIA_ROOT = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'media') MEDIA_URL = '/media/'
I've got the CSS files in /mysite/media/css/ and the template code contains:
<link rel="stylesheet" type="text/css" href="/media/css/site_base.css" />`
then, in the url.py file I have:
# DEVELOPMENT ONLY (r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': '/media'}),
but the development server serves the plain html (without styles). What am I doing wrong?
--
OK - I got it working based on what you folks have said. The answer is:
settings.py:
MEDIA_ROOT = 'd://web//mysite//media//' #absolute path to media MEDIA_URL = '/mymedia/' #because admin already using /media
site_base.html:
<link rel="stylesheet" type="text/css" href="/mymedia/css/site_base.css" />
urls.py
from mysite import settings if settings.DEBUG: urlpatterns += patterns('', (r'^mymedia/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}), )
And voila! It works.
解决方案in the "development only" block in your urls.py you need to change
(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': '/media'}),
to...
(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),
这篇关于Django模板不能看到CSS文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!