2014-08-30 69 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