2012-06-16 58 views
-1

出於某種原因,我的HTML頁面找不到我的樣式表。如果有幫助的話,我使用Django框架。我在當前的本地主機上運行它。網頁未找到樣式表

HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Insert title here</title> 

<link rel="stylesheet" href="../fitness/templates/masterpage.css" type="text/css"> 

</head> 
<body> 
<h1> MasterPage</h1> 



{% block content %} {% endblock %} 
</body> 
</html> 

masterpage.css

h1 { 
color: #fff; 

} 

謝謝你們。

+0

Firebug或Google的開發人員工具對加載的CSS文件的確切路徑有何看法? (在「網絡」選項卡中) –

+0

螢火蟲找到了我認爲正確的路徑(localhost:8000/fitness/templates /),但它表示裏面沒有規則。 –

+1

你可以點擊URL並查看實際樣式表是否出現? –

回答

1

提供靜態文件,如CSS,Django的有staticfiles LIB:

https://docs.djangoproject.com/en/dev/howto/static-files/ - 開發版本 https://docs.djangoproject.com/en/1.4/howto/static-files/ - Django的1.4
https://docs.djangoproject.com/en/1.3/howto/static-files/ - Django的1.3

注意,這需要一個最近的Django的版本,因爲這是一個相當新的增加

我的猜測是CSS的URL與您的urls.py中沒有任何模式匹配,因此返回一個錯誤

0

根據CSS鏈接你的路徑可能是:

[同根] /健身/模板

[同根]/[也許別的東西嗎?] /電流(具有 一個顯示HTML)

看到您的評論(回答)克里斯我建議你到CSS鏈接更改爲:

/fitness/templates/masterpage.css

並確保相應的物理路徑

0

簡短的回答HERE下有masterpage.css:在你的settings.py確保您設置一個文件夾STATIC_DIRS,一個STATIC_URL(通常只是'/ static /')。設置myproject/static /的STATIC_ROOT設置。將此文件夾留空。在STATIC_DIRS下添加一個文件夾稱爲myprojet/assets /。然後在資產/有CSS,IMG和JS。現在,您可以通過此位置訪問這些有組織的文件夾中的所有資產,而無論其中包含哪個文件夾。{{STATIC_URL}}/main.css {{STATIC_URL}}/banner.png作爲最後的手段運行python manage.py collectstatic at你的shell,並確保在你的settings.py中你已經取消了註釋Django的靜態文件處理程序。 (默認情況下,它們未被註釋。)

Django最佳實踐長篇答案閱讀文章(以我有限的經驗)。

由於他們引入了STATIC_DIRS {}設置,我總是將myproject/static /目錄留空。 (在部署過程中,您需要在服務器上運行python manage.py collectstatic命令,以收集站點包中的所有管理文件以及靜態服務器將提供的其他內容,因此請將其留空以應對所有這些混亂情況在你的「資產」中使用不同的文件夾。)

我有一個名爲src的目錄,許多人在項目級別也稱它爲媒體。 Django 1.4的項目級別與manage.py不在一起settings.py。我將myproject/src /添加到STATIC_DIRS設置。它是一個包含字符串的元組。在src /目錄裏面我有js,img,css。所有的STATIC_DIRS的最酷的事情,你可以決定創建是他們都可以通過

<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}/main.css" /> 

注訪問:你可以這樣做,即使CSS文件的目錄結構可能有幾個嵌套的文件夾深或在此case myproject/src/css/main.css。 Django不關心你的目錄結構。一般來說,Django與它的元素非常鬆散地耦合在一起。例如,插入您選擇的另一種Pythonic模板語言非常簡單。就像設置STATIC_URL設置和STATIC_DIRS一樣容易,所以Django知道去哪裏看,並且它們都是從/ static /中提供的。