【问题标题】:Django not finding some JS and CSS resourcesDjango 找不到一些 JS 和 CSS 资源
【发布时间】:2017-06-05 10:01:56
【问题描述】:

也许这是一个可笑的问题,但我真的迷路了。在我将项目移植到新笔记本电脑之前,它运行良好。这是我的文件系统结构:

bill
   ==>bill (contains settings.py)
   ==>static
   ==>welcome
   ==>manage.py

现在在静态中我有我的目录,我有文件夹插件、js 和 css。以下是我的 base.html 模板:

 <!DOCTYPE html>
 {% load staticfiles %}
 <html lang="en">
 <head>
  <title>{% block ownername %}{% endblock %} {% block title %}{% endblock  %}</title>

<script src="{% static 'plugins/jQuery/jquery-2.2.3.min.js' %}"></script>

 <!-- Bootstrap 3.3.6 -->
<link rel="stylesheet" href="{% static 'bootstrap/css/bootstrap.min.css' %}">
 <link rel="stylesheet" href="{% static 'plugins/datepicker/datepicker3.css' %}">

**<link rel="stylesheet" href="{% static 'plugins/lobibox/lobibox.min.css' %}">**


 <script src="{% static 'plugins/slimScroll/jquery.slimscroll.min.js' %}"></script>

**<script src="{% static 'plugins/moments/moment.min.js' %}"></script>**

它会加载一些资源,同时它会为在我的旧笔记本电脑上工作的其他一些资源提供 404(粗体,例如 moment.min.js 和 css 文件)。配置是一样的,因为我是用虚拟环境启动的。

请问我错过了什么?我真的不知道它在做什么。

【问题讨论】:

  • 您是否检查了静态文件夹中的文件?它们是否存在,它们是否有内容并且没有被破坏?尝试打开一次
  • 感谢@Exprator:是的,他们在那里并且工作正常。从旧笔记本电脑中删除并再次将它们复制回来,仍然无法加载相同的文件。
  • 尝试 {% load static %} 而不是 {% load staticfiles %} 并检查
  • 我似乎有一个更大的问题,因为我删除了整个静态文件夹,即使使用静态文件而不是静态文件,仍然没有任何变化。任何想法?因为这是全新的笔记本电脑,我现在刚刚加载了应用程序。
  • 你还有其他静态文件夹吗?应用内?

标签: django


【解决方案1】:

没有问题是可笑的:)

首先,将{% load staticfiles %} 更改为{% load static %}

然后确保您在静态文件方面进行了正确的设置。一个好的设置应该是这样的:

STATIC_ROOT = os.path.join(BASE_DIR, "static")
STATIC_URL = '/static/'

如果您在没有 DEBUG=True 的情况下运行您的应用程序,那么也可以从您的终端运行 python manage.py collectstatic --no-input - 这应该可以在 prod 环境中提供静态资产。

试一试,告诉我们结果如何。

【讨论】:

  • 谢谢。这并没有真正产生影响。我在 SO 的某个地方遇到了 STATICFILES_DIRS,它现在似乎工作正常,但我希望你的解决方案工作正常,因为 STATICFILES_DIRS 采用绝对路径,使我的应用程序不可移植。
  • 您可以将您的STATICFILES_DIRS 路径设置为/staticfiles/,这将使其可移植
猜你喜欢
  • 1970-01-01
  • 2016-01-30
  • 2013-12-20
  • 2016-07-22
  • 2013-12-29
  • 2015-06-08
  • 2015-12-09
  • 2016-02-04
  • 2012-05-16
相关资源
最近更新 更多