【问题标题】:django media path problemdjango媒体路径问题
【发布时间】:2011-08-23 08:31:54
【问题描述】:

我在找出 django 中的媒体路径问题时遇到了一些问题。在 settings.py 文件中,我有 ADMIN_MEDIA_PREFIX = '/media/admin/'。所以某些 css 和 js 文件,如 forms.css、RelatedObjectLookup.js 文件具有这样的路径

/media/admin/js/admin/RelatedObjectLookup.js 和 /media/admin/css/forms.css。

我的项目中没有像 /media/admin 这样的文件夹。但是,当我使用 manage.py 脚本运行服务器并浏览页面时,正在加载上述 css 和 js 文件。我可以看到文件 forms.css 和 RelatedObjectLookup.js 在 django 本身中。但是,我对 django 本身的路径感到困惑。是这样的

/usr/local/lib/python2.7/site-packages/django/contrib/admin/media/js/calendar.js

所以,我很困惑,如何获取文件。在服务器日志中,我可以看到其他文件的 GET 请求,但看不到这些文件(forms.css 和 RelatedObjectLookup.js)

运行 manage.py 后,myserver 请求日志中有以下内容。

[23/Aug/2011 02:20:36] "GET /media/js/DateTimeShortcuts.js HTTP/1.1" 304 0
[23/Aug/2011 02:20:36] "GET /media/js/custom/new_appointment_new.js HTTP/1.1" 304 0
[23/Aug/2011 02:20:36] "GET /media/js/fancybox/jquery.mousewheel-3.0.4.pack.js HTTP/1.1" 304 0
[23/Aug/2011 02:20:36] "GET /media/js/fancybox/jquery.fancybox-1.3.4.pack.js HTTP/1.1" 304 0
[23/Aug/2011 02:20:36] "GET /media/js/fancybox/jquery.fancybox-1.3.4.css HTTP/1.1" 304 0

您可以不请求 forms.css 和 RelatedObjectLookup.js 文件。

有什么建议吗?

【问题讨论】:

  • 可能没有对它们的请求,因为它们保存在浏览器的缓存中?尝试强制刷新,或者使用一些工具,例如 HttpFox。

标签: python django


【解决方案1】:

查看runserver command 使用的AdminMediaHandler。如您所见,AdminMediaHandler 不记录任何内容。

【讨论】:

    【解决方案2】:

    ADMIN_MEDIA_PREFIX 是一个 URL 路径。如果您使用runserver 运行服务器,Django 的服务器负责解析对http://localhost/media/admin/whatever.js 的请求并提供管理员的静态文件。它不会将这些文件的 GET 请求打印到控制台。

    但是,如果您没有使用runserver 运行,那么您必须确保ADMIN_MEDIA_PREFIX 指定的路径确实为管理员提供了静态文件。例如,在我们的一个站点中,我们的STATIC_URLhttp://static.oursite.com/,我们的STATIC_ROOT/srv/django-static/oursite/ADMIN_MEDIA_PREFIX 设置为 http://static.oursite.com/admin/。当我们运行python manage.py collecstatic 时,它会获取所有静态文件并将它们放在STATIC_ROOT 中。它还在STATIC_ROOT 中创建了一个名为admin 的文件夹,并将所有管理员的文件放在那里。另一台服务器负责在http://static.oursite.com/ 上提供内容,它只是提供STATIC_ROOT 文件夹,其中也有admin 文件夹。这样,正常的静态文件以及管理员的静态文件都会得到解析。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-16
      • 2023-03-15
      • 2011-04-10
      • 2014-01-08
      • 2013-09-01
      • 2021-08-28
      • 1970-01-01
      • 2020-04-25
      相关资源
      最近更新 更多