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

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

问题描述

我正在构建一个 django 应用程序,但无法获取模板以查看 CSS 文件...我的 settings.py 文件如下所示:

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/'

我在/mysite/media/css/中有 CSS 文件,模板代码包含:

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" />`

然后,在 url.py 文件中:

then, in the url.py file I have:

# DEVELOPMENT ONLY
(r'^media/(?P<path>.*)$', 'django.views.static.serve',
    {'document_root': '/media'}),

但是开发服务器提供纯 html(没有样式).我究竟做错了什么?

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:

settings.py:

MEDIA_ROOT = 'd://web//mysite//media//'  #absolute path to media
MEDIA_URL = '/mymedia/' #because admin already using /media

site_base.html:

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}),
    )

瞧!它有效.

推荐答案

在你的 urls.py 中的development only"块中你需要改变

in the "development only" block in your urls.py you need to change

(r'^media/(?P<path>.*)$', 'django.views.static.serve',
    {'document_root': '/media'}),

到...

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

这篇关于Django 模板看不到 CSS 文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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