Django 不会在 VS Code 编辑器中解析静态文件的路径
Posted
技术标签:
【中文标题】Django 不会在 VS Code 编辑器中解析静态文件的路径【英文标题】:Django won't resolve path to static file inside VS Code editor 【发布时间】: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 即它位于我的主项目文件夹的静态目录中。我将编辑我的代码以相应地反映这一点
【参考方案1】:
所以我发现了错误,这只是我本地的 vscode
即使悬停链接显示错误的地址,只要您的语法正确,您的静态文件也能正常加载。通过启动服务器来检查它
【讨论】:
以上是关于Django 不会在 VS Code 编辑器中解析静态文件的路径的主要内容,如果未能解决你的问题,请参考以下文章
原创最强文本编辑型SSH工具VS Code安装Remote SSH到免密登录一步步解析