2014-08-30 67 views
2

我有我的CSS位于Django的添加URL的一部分,以静态的css路径

static/css/boostrap.css 

我现在有2次。登录视图和仪表板视图。

urls.py

from django.conf.urls import patterns, include, url 
from django.conf import settings 
from django.conf.urls.static import static 
from django.contrib import admin 
admin.autodiscover() 

urlpatterns = patterns('', 
    # Examples: 
    url(r'^$', 'logins.views.login', name='login'), 
    url(r'^dashboard', 'dashboards.views.dashboard', name='dashboard'), 

    url(r'^admin/', include(admin.site.urls)), 
) 

if settings.DEBUG: 
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) 
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 

当我加载了登录页面,它看起来对静态文件

/static/css/login.css 

但是当我加载仪表盘它

dashboad/static/css/bootstrap.css 
查找它

login.html css参考

<link href="static/css/signin.css" rel="stylesheet"> 

dashboard.html CSS参考

<link href="static/css/dashboard.css" rel="stylesheet"> 

其添加URL的一部分路径关闭静态文件和不能为我的生活弄清楚如何阻止它。

settings.py

STATIC_URL = '/static/' 

TEMPLATE_DIRS = (
    '/Users/chrismeek/Documents/Python/virtual/src/static/templates', 
) 

if DEBUG: 
    MEDIA_URL = '/media/' 
    STATIC_ROOT = '/Users/chrismeek/Documents/Python/virtual/src/static/static-only' 
    MEDIA_ROOT = '/Users/chrismeek/Documents/Python/virtual/src/static/media' 
    STATICFILES_DIRS = (
     '/Users/chrismeek/Documents/Python/virtual/src/static/static', 
    ) 
+0

你的天堂” t显示了如何在登录和仪表板模板中引用css。 – 2014-08-30 19:58:16

+0

你是什么意思对不起。非常新的 – 2014-08-30 20:07:24

回答

1

您正在使用相对URL链接到资产:所以他们总是从当前页面的目录开始。

确保你总是使用斜线:

<link href="/static/css/dashboard.css" rel="stylesheet"> 

更妙的是,使用Django的static标签自动输出STATIC_URL,不管它恰好是值:

{% load static %} 
... 
<link href="{% static "css/dashboard.css" %}" rel="stylesheet"> 
+0

你是男人 – stackPusher 2017-05-05 16:17:07