HTML 文件未從 CSS 更新
網頁使用多種基本技術構建,其中 HTML(超文字標記語言)和 CSS(層疊樣式表)是最主要的兩種。HTML 為頁面提供結構,而 CSS 則負責各種裝置的(視覺和聽覺)佈局。
CSS 可以透過三種不同的方式新增到 HTML 文件中:內聯 - 當在 HTML 元素中使用 <style> 屬性時。內部 – 當將 <style> 元素插入到 <head> 部分時。外部 – 當使用 <link> 元素將外部 CSS 檔案連結到 HTML 程式碼時。
假設您正在使用 HTML 和 CSS 建立一個 Django 應用程式,並且遇到 CSS 樣式未反映在 HTML 文件中的情況,即使您已將 CSS 檔案連結到該文件。.css 檔案與 .html 檔案位於同一路徑下,但更改未反映在 HTML 文件中。程式碼如下所示。
<head>
<link type= "css" rel= "stylesheet" href= "style.css" media= "screen"/>
<meta charset= "UTF-8">
<meta http-equiv= "X-UA-Compatible" content= "IE=edge">
<meta name= "viewport" content= "width=device-width, initial-scale= 1.0">
<title>HTML Document</title>
</head>
當您將滑鼠懸停在外部樣式錶鏈接上時,您可以按住 Ctrl 並單擊它,它將顯示在一個新視窗中,表示 .css 檔案已成功連結到 .html 檔案,並且這不是問題的原因。如果重啟伺服器/應用程式、為 css 檔案建立不同的個性化資料夾、更改 css 檔案的 href 等通用方法失敗,則應考慮清除 CDN 和瀏覽器快取。
瀏覽器可以獨立於伺服器指令頻繁地快取檔案。如果您新增或更改內聯 CSS 或 JavaScript 並且沒有看到 HTML 原始碼中反映的更改,則該頁面很可能已快取。當您在檔案中新增/修改 CSS 或 JavaScript 時,該檔案可能會被快取。解決方案可能是 1) 確保 CSS 和 JavaScript 正確入隊,以及 2) 更新伺服器引數。更新伺服器會強制瀏覽器重新下載檔案,這是一種不僅可以清除瀏覽器快取,還可以清除 CDN 快取的有效機制。
如果啟用了 CDN,靜態資產將被快取。如果您不想使用引數破壞快取,則應該能夠透過重新整理 CDN 快取來獲得相同的結果。(但是,在這種情況下,瀏覽器需要發出請求。)
即使在清除快取後問題仍然存在,您可能需要檢視 Django 的設定部分。
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]
在專案根目錄或您想要的任何位置建立一個靜態和模板目錄,併為模板設定 TEMPLATES 中的“DIR”,併為 js 和 css 檔案設定靜態檔案。您必須將您的 js 和 css 檔案放在靜態目錄中。您還可以建立名為“js”的目錄在靜態目錄內。保留 js 檔案並在靜態目錄內建立一個“css”目錄以用於 css 檔案現在,在下面顯示的檢視中呈現您的 HTML 檔案。
from django.shortcuts import render
def index (request):
return render(request, "index.html")
現在您將能夠在模板檔案中載入靜態檔案。
<!DOCTYPE html>
<head>
{% load static %}
<script src= "{% static 'my_app.js' %}"></script>
<title> Website </title>
</head>
<body>
<img src= "{% static 'img1.png' %}" alt= " my image" />
{% block content %}{% endblock %}
</body>
</html>
也將 {% load static %} 新增到 HTML 檔案中。
{% load static %}
<!DOCTYPE html>
<html xmlns= "http://www.w3.org/1999/xhtml" lang= "en">
<head>
<meta charset= "UTF-8">
<meta http-equiv= "X-UA-Compatible" content= "IE=edge">
<meta name= "viewport" content= "width=device-width, initial-scale= 1.0">
<link type= "text/css" rel= "stylesheet" media= "screen" href= "{% static 'styles/style.css' %}"/>
<title>Document</title>
</head>
最後,根據以下程式碼段修改 settings.py。
STATIC_URL = '/static/'
STATICFILES_DIRS = [
BASE_DIR / "static",
]
此外,在您的根專案(宣告 manage.py 的位置),您應該有一個靜態資料夾,在您的靜態資料夾中,您應該有樣式,在您的樣式中,您應該有您的 style.css 檔案。
資料夾路徑應類似於以下內容
static/styles/style.css
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP