問題在標題中描述。我有一個使用Django
創建的博客模板。Django不顯示我的模板的CSS
當我打開它通常,使用雙擊在HTML文件中,它看起來像這樣:
但是當我通過從Django項目的URL打開它,它看起來像這樣
它只顯示一個綠色的正方形(css的一部分),但顯然無法正確打開css。
任何想法來解決這個問題?
問題在標題中描述。我有一個使用Django
創建的博客模板。Django不顯示我的模板的CSS
當我打開它通常,使用雙擊在HTML文件中,它看起來像這樣:
但是當我通過從Django項目的URL打開它,它看起來像這樣
它只顯示一個綠色的正方形(css的一部分),但顯然無法正確打開css。
任何想法來解決這個問題?
在Django中,您不需要雙擊文件就可以打開HTML,您需要首先運行服務器並使用localhost打開您的網站(就像您在第二張圖片中所做的那樣)。
通過這些圖像判斷,你確定把圖像放在靜態文件夾中嗎?在Django中,HTML文件保留在應用程序的「模板」文件夾以及「靜態」文件夾中的css,javascript和圖像中。
如果這個答案對你沒有幫助,那麼你應該在這裏發佈你的代碼,否則我找不到問題。
這是因爲你的靜態文件沒有被正確渲染。
把裏面
codingfacilito
/ | \
/ | \
another-app blog One-more-app
|
|
static
|
|
blog
/| \
/ | \
js css images
/ | \
/ | \
script1.js style1.css img1.jpg
script2.js style2.css img2.jpg
所有靜態文件,上面是來存儲靜態文件最有用和推薦的方式。
現在,在你的HTML文件
HTML模板
Dont't忘記添加{%負載staticfiles%}
<!DOCTYPE html>
{% load staticfiles %} <!-- Don't forget this -->
<html>
<head>
<!-- Stylesheets -->
<link rel="stylesheet" href="{% static 'blog/css/style1.css' %}"/>
<link rel="stylesheet" href="{% static 'blog/css/style2.css' %}"/>
<!-- javascripts -->
<script src="{% static 'blog/js/script1.js' %}"></script>
<script src="{% static 'blog/js/script2.js' %}"></script>
</head>
</html>
<body>
<!--render your image now -->
<img src="{% static 'blog/images/img1.jpg' %}">
</body>
我解釋目錄結構很重要。現在它可能看起來對你來說是多餘的,但它也許是最好的方式。因爲當django收集靜態文件時,它會進入每個應用程序的靜態目錄中,並收集所有文件,如果沒有按照上述方式進行操作,將會出現名稱衝突,並且可能會遇到問題。
嗨Astik,謝謝你的回答和你的時間。我對目錄樹有點困惑:爲什麼有一個 博客> satic> blog> css? 不能只有博客> satic> css? 以及如何在settings.py中使用變量STATIC_URL ='/ static /'?它與這個問題有關嗎?再次感謝你:) –
@OldWolf只需按照上面的目錄結構blog> static> blog> css。現在你可能不瞭解它的重要性,但它非常重要。對於開發過程,STATIC_URL ='/ static /'是可以的。 –
再次@Astik Anand。非常感謝你幫助我。現在它完美的作品:) –
讓我們來看看你的JS控制檯 – JacobIRR