django HTML文档不从CSS更新

0md85ypi  于 2023-01-27  发布在  Go
关注(0)|答案(3)|浏览(96)

我正在使用一个CSS文件来更新Django应用程序中的HTML,但是尽管我的“style.css”工作表链接到了HTML文件,但没有发生任何更新。
“style.css”与我的HTML文档(“index.html”)在同一个文件夹中,但什么都没有改变。
我已经粘贴我的代码如下:

<head>
    <link type="text/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>Document</title>
</head>

我知道CSS和HTML文件是链接的,因为当我将鼠标悬停在“style.css“href上时,我可以按CTRL +单击,“styles.css”将在一个新窗口中打开。
我已经看了四五个教程,尝试重新启动本地服务器,将“style.css”移动到它自己的文件夹“styles”,然后将href更改为href=“styles/style.css”,但它仍然不工作。
我使用的是VSCode和Windows 11。

r7knjye2

r7knjye21#

你需要在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"),
]

小心创建静态和模板目录在项目根目录或任何地方你想要和设置在“目录”在模板和设置静态为js和css文件的静态文件。在静态目录中你必须把你的js和css文件也可以创建目录内的静态目录称为“js”持有js文件和创建“css”目录内的静态为css文件。现在呈现yout html文件在视图中,如下图

from django.shortcuts import render
  
def index_view(request):
    return render(request, "index.html")

现在在你的模板文件中你可以加载静态文件

<!DOCTYPE html>
<head>
  {% load static %}
  <script src="{% static 'app.js' %}"></script>   
  <title>Site</title>
</head>
<body>
<img src="{% static 'img.png' %}" alt="Mon image" />
  {% block content %}{% endblock %}
</body>
</html>
wkftcu5l

wkftcu5l2#

在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>

您应该添加setting.py:

STATIC_URL = '/static/'

STATICFILES_DIRS = [
    BASE_DIR / "static",
]

你也应该像这样声明你的文件夹结构:
在你的根项目中(声明www.example.com的地方manage.py),static文件夹,在你的static文件夹中你应该有样式,在你的样式中是你的style.css文件。
static/styles/style.css

vnzz0bqm

vnzz0bqm3#

显然这只是一个缓存的问题,清除它就解决了这个问题,所以我现在每次修改CSS模板时都会清除该高速缓存,这基本上是每天都要清除缓存。

相关问题