Django无法在静态文件夹中找到脚本

x759pob2  于 2022-11-26  发布在  Go
关注(0)|答案(2)|浏览(190)

这看起来像是一个重复的问题,但我不知道发生了什么,但我已经通过stackoverflow,并尝试了所有的解决方案,但无法找到我需要的答案。在这里Django找到了style.css,但无法找到App.js和script.js字面上位于同一文件夹的style.css。我似乎无法找出问题,我已经浪费了大约2小时试图找出它。更新:我努力编码路径,仍然说它没有找到它,而当我做py www.example.com findstatic时显示出来manage.py。

相关HTML

{% load static %}
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/html">
<head>
  <meta charset="UTF-8">
  <title>Reyanna</title>
  <link rel="icon" href="https://img.icons8.com/nolan/96/bot.png" type="image/icon type">
  <link href="https://fonts.googleapis.com/css?family=Montserrat:400,500,600,700,800,900" rel="stylesheet">
  <link rel="stylesheet" href="{% static 'style.css' %}">
  <link rel="script" href="{% static 'App.js' %}">
  <link rel="script" href="{% static 'script.js' %}">
</head>

设置.py

STATIC_URL = '/static/'
STATICFILES_DIRS = [
    BASE_DIR / "home/static",
]

文件夹

  • 主页(Django应用程序)
  • |- 〉静态
  • |- 〉应用程序. js
  • |- 〉脚本. js
  • |- 〉样式. css
  • |- 〉模板
  • |- 〉索引. html
hrysbysz

hrysbysz1#

更新:我意识到模板文件夹在应用程序目录中

如果您的templates文件夹位于您的app目录中,则:

  • 删除此STATICFILES_DIRS = [BASE_DIR / "home/static",]
  • 保持STATIC_URL = '/static/'不变
  • TEMPLATES〉〉DIRS路径留空。
  • 最后,在base.html或index.html中,在结束的body tag之前添加<scripts>----</scripts>标记,如下所示
<script src="{% static 'js/jquery.min.js' %}"></script>
<script src="{% static 'js/bootstrap.min.js' %}"></script>
  • 清除您的浏览器历史记录,包括所有Cookie,然后重新加载服务器。

如果不成功,我建议检查一下html中是否缺少结束标记或标记名称是否拼写错误。
但是,如果templates文件夹位于项目目录中,则执行以下操作:

  • settings.py〉〉TEMPLATES中,粘贴如下DIRS路径
'DIRS': [os.path.join(BASE_DIR, 'templates')]
  • 同时将以下内容复制粘贴到www.example.com底部settings.py
STATIC_URL = '/static/'

STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"),)

MEDIA_URL = '/media/'

MEDIA_ROOT = BASE_DIR
  • 最后,在base.html或index.html中,在结束的body tag之前添加<scripts>----</scripts>标记,如下所示
<script src="{% static 'js/jquery.min.js' %}"></script>
<script src="{% static 'js/bootstrap.min.js' %}"></script>
  • 清除您的浏览器历史记录,包括所有Cookie并重新加载服务器。

如果不成功,我建议检查一下html中是否缺少结束标记或标记名称是否拼写错误。

有关这两种方法的确切示例,请访问我的GitHub存储库,并查看settings.pybase.html

Templates folder inside App directory
Templates folder within project directory

ff29svar

ff29svar2#

为什么不使用script标记呢?然后,在所需的模板中,您可以执行以下操作:

{% load static %}
...
...
...
<script src="{% static '/js/product_to_warehouse.js' %}"></script>

相关问题