【问题标题】:Why isn't the jQuery script file being recognized in the Django admin panel?为什么 Django 管理面板中无法识别 jQuery 脚本文件?
【发布时间】:2011-09-17 22:35:30
【问题描述】:

我正在关注 Django 提供的 tutorial,但我现在发现没有加载 jQuery,因此管理面板中的可折叠字段集不起作用。这是因为系统上还没有安装 libjs-jquery,但是安装并没有解决问题。

Page not found (404)
Request Method: GET
Request URL:    http://mysite:8000/static/admin/js/jquery.js

我已经确认 /usr/share/pyshared/django/contrib/admin/media/js/jquery.js 指向正确的文件 (/usr/share/javascript/jquery/jquery.js) 并且前面提到的 /usr/.../js/ 目录是 mysite:8000/static/admin/js/ 读取的地方。我还注意到在该 /usr/.../js/ 文件夹中创建一个新文件并不会使其出现在站点本身上。我最好的猜测是,除非被告知,否则 Django 不会重新检查文件系统。有谁知道我应该如何解决这个问题?

【问题讨论】:

    标签: jquery django django-admin static-files


    【解决方案1】:

    我最终偏离了教程并使用 Apache 来运行站点并分别提供静态内容。我仍然不知道为什么内置的 'runserver' 坚持为已存在的文件返回 404,但显然它是提供静态文件的低劣选择。

    【讨论】:

      【解决方案2】:

      python manage.py collectstatic 可能会修复它; 最好通过其他服务器而不是您的 django 实例来为您的媒体提供服务。例如 nginx。 DEBUG 在您的设置中设置为 true 吗?如果不是,它不会为您提供媒体服务。

      【讨论】:

      • 我在运行该命令后收到django.core.exceptions.ImproperlyConfigured: You're using the staticfiles app without having set the STATIC_ROOT setting.。显然管理静态文件是分开处理的?并且 DEBUG 确实设置为 true。
      • 我猜这是你的问题,将 settings.py 中的 STATIC_ROOT 设置为收集静态文件的空目录的绝对路径。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-28
      • 1970-01-01
      • 2016-06-03
      • 2021-06-09
      • 2023-03-10
      • 1970-01-01
      相关资源
      最近更新 更多