Django 模板看不到 CSS 文件 [英] Django template can't see CSS files
问题描述
我正在构建一个 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屋!