【发布时间】:2021-07-04 16:53:11
【问题描述】:
我的 html 文件顶部的 {% load static %} 标记似乎有效
但是当我尝试使用此代码从静态文件夹链接我的 css 文件时:
{% load static %}
<link href="{% static 'static/style.css' %}" rel="stylesheet">
vscode 尝试在我的模板目录中创建一个名为 {% static 'static/style.css' %} 的文件,这意味着无法识别 static 关键字。
任何帮助找出原因将受到高度赞赏(底部路径截图)
这是我用于链接静态文件的相关 settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
STATIC_URL = '/static/'
STATICFILES_DIRS = [
BASE_DIR / "static",
'/Google_Solutions/static/',
]
我的静态和模板在主目录中
这是我试图包含文件的 home.html 文件头
{% extends 'layout.html' %}
{% load static %}
{% block head %}
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0" name="viewport">
<title> Homepage </title>
<!-- Template Main CSS File -->
{% load static %}
<link href="{% static 'css/style.css' %}" rel="stylesheet">
{% endblock %}
这是我的 layout.html
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<link rel="icon" type="image/png" sizes="16x16" href="{% static '/favicon-16x16.png'%}">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BmbxuPwQa2lc/FVzBcNJ7UAyJxM6wuqIj61tLrc4wSX0szH/Ev+nYRRuWlolflfl" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/js/bootstrap.bundle.min.js" integrity="sha384-b5kHyXgcpbZJO/tY9Ul7kGkf1S0CWuKcCD38l8YkeH8z8QjE0GmW1gYU5S9FOnJ0" crossorigin="anonymous"></script>
<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Dancing+Script:wght@700&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Lobster&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@300&display=swap" rel="stylesheet">
{% block head %}
{% endblock %}
</head>
<body>
{% block body %}
{% endblock %}
</body>
<script type="text/javascript" src="{% static 'js/app.js' %}"></script>
【问题讨论】:
-
screenshot of the path请不要发布文字截图,使用文字。 -
link href="assets/vendor- 为什么这些文件不是通过static模板标签链接的?it tries to create a file- 完全不清楚。请详细说明这是什么意思。谁试图“创建文件”,在哪里,如何。硬盘上有新文件? -
href='{%static "/manifest.json" %}'- 修正模板标签的拼写,在 % 和static之间添加空格,统一单引号和双引号的使用,去除不必要的前导斜杠。 -
那么你的静态文件在哪里?在
static/style.css、css/style.css内部或styles.min.css等静态文件夹的根目录中? -
static/styles.css 即它位于我的主项目文件夹的静态目录中。我将编辑我的代码以相应地反映这一点
标签: html django django-templates django-staticfiles