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.csscss/style.css 内部或styles.min.css 等静态文件夹的根目录中? static/styles.css 即它位于我的主项目文件夹的静态目录中。我将编辑我的代码以相应地反映这一点 【参考方案1】:

所以我发现了错误,这只是我本地的 vscode

即使悬停链接显示错误的地址,只要您的语法正确,您的静态文件也能正常加载。通过启动服务器来检查它

【讨论】:

以上是关于Django 不会在 VS Code 编辑器中解析静态文件的路径的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio Code不再解析隐式索引文件?

原创最强文本编辑型SSH工具VS Code安装Remote SSH到免密登录一步步解析

无法在 Django 项目的 VS-code 中激活调试(虚拟环境中的 Django)

VS code使用

vs code

盘点 12 款让开发效率“飞起”的 VS Code 插件