Django:提供管理媒体文件
我正在尝试从另一个域(当前域的子域)提供静态文件。 为了提供所有媒体文件,我使用了以下设置:
媒体_URL = 'http://media.bud-inform.co.ua/'
所以当在我使用的模板
{{ MEDIA_URL }}
已替换为上面的设置。现在我尝试从同一子域提供管理媒体文件,我这样更改了设置:
ADMIN_MEDIA_PREFIX = 'http://media.bud-inform.co.ua/admin_media/ ',
并期望从我的管理站点对媒体的所有调用都将发送到此 url....但实际上它并没有以这种方式工作,我仍然看到 CSS 的路径如下:
您能否建议如何正确提供管理媒体文件
I am trying to serve static files from another domain (sub domain of current domain).
To serve all media files I used this settings:
MEDIA_URL =
'http://media.bud-inform.co.ua/'
So when in template I used
{{ MEDIA_URL }}
it was replace with the setting above. Now I am trying to serve admin media files from the same subdomain, I changed the settings this way:
ADMIN_MEDIA_PREFIX =
'http://media.bud-inform.co.ua/admin_media/',
and expected that all calls to media from my admin site will be made to this url.... But actually it didn't work this way, I still see paths to CSS made as following:
Could you suggest how to serve admin media files correctly
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
MEDIA_URL
和ADMIN_MEDIA_PREFIX
是两个不同的东西。一个是您的媒体文件的位置,另一个是 django 管理系统媒体文件的位置。您必须确保
ADMIN_MEDIA_PREFIX
指向您实际提供管理媒体的位置。 Django 不会为你处理这一步。django 管理媒体位于 django/contrib/admin/media/ 。将该目录复制或符号链接到公开可见的位置,并设置
ADMIN_MEDIA_PREFIX
以反映您放置它的位置。MEDIA_URL
andADMIN_MEDIA_PREFIX
are two different things. One is the location of your media files, while the other is the location of the django admin system's media files.You have to make sure that the
ADMIN_MEDIA_PREFIX
points to somewhere where you're actually serving the admin media. Django doesn't handle that step for you.The django admin media is at
django/contrib/admin/media/
. Copy or symlink that directory somewhere publicly visible and setADMIN_MEDIA_PREFIX
to reflect where you put it.