Django模板无法看到CSS文件

Tec*_*ard 20 css python django django-templates

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

MEDIA_ROOT = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'media')
MEDIA_URL = '/media/'
Run Code Online (Sandbox Code Playgroud)

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

<link rel="stylesheet" type="text/css" href="/media/css/site_base.css" />`
Run Code Online (Sandbox Code Playgroud)

然后,在我的url.py文件中:

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

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

-

好的 - 我根据你们所说的话让它发挥作用.答案是:

settings.py:

MEDIA_ROOT = 'd://web//mysite//media//'  #absolute path to media
MEDIA_URL = '/mymedia/' #because admin already using /media
Run Code Online (Sandbox Code Playgroud)

site_base.html:

<link rel="stylesheet" type="text/css" href="/mymedia/css/site_base.css" />
Run Code Online (Sandbox Code Playgroud)

urls.py

from mysite import settings
if settings.DEBUG:
    urlpatterns += patterns('',
        (r'^mymedia/(?P<path>.*)$', 'django.views.static.serve',  
         {'document_root':     settings.MEDIA_ROOT}),
    )
Run Code Online (Sandbox Code Playgroud)

瞧!有用.

Jia*_*aro 13

在urls.py中的"仅限开发"块中,您需要更改

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

至...

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


Dan*_*man 5

ADMIN_MEDIA_PREFIX\media\默认情况下设置为,并且可能是"窃取"路径.更改该设置,或对非管理媒体使用不同的设置 - 例如site_mediaassets.