Django模板不能看到CSS文件 [英] Django template can't see CSS files

查看:100
本文介绍了Django模板不能看到CSS文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在建立一个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 
MEDIA_URL ='/ mymedia /'#because admin已经使用/ media
pre>

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆