Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django媒体路径问题_Python_Django - Fatal编程技术网

Python django媒体路径问题

Python django媒体路径问题,python,django,Python,Django,我在解决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脚

我在解决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文件的请求


有什么建议吗?

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


但是,如果您没有使用
runserver
运行,那么您必须确保
ADMIN\u MEDIA\u PREFIX
指定的路径确实为管理员提供了静态文件。例如,在我们的一个站点中,我们的
静态URL
http://static.oursite.com/
而我们的
静态根目录
/srv/django STATIC/oursite/
ADMIN\u MEDIA\u前缀
设置为
http://static.oursite.com/admin/
。当我们运行
python manage.py collecstatic
时,它会获取所有静态文件并将它们放入
static\u根目录中。它还在
STATIC\u ROOT
中创建一个名为
admin
的文件夹,并将所有管理员文件放在那里。另一台服务器负责在
http://static.oursite.com/
并且它只提供
静态根目录
文件夹,其中还包含
管理
文件夹。这样,正常的静态文件和管理员的静态文件都会得到解析。

请查看。如您所见,AdminMediaHandler不会记录任何内容。

可能是因为它们保存在浏览器的缓存中,所以没有对它们的请求?尝试强制刷新,或使用诸如HttpFox之类的工具。