好吧,这里有一个非常奇怪的问题。
在管理站点的 base.html 文件中,他们有这样的内容:
<script type="text/javascript">window.__admin_media_prefix__ = "{% filter escapejs %}{% static "admin/" %}{% endfilter %}";</script>
重要的部分是这个{% static "admin/"%}
。它仅用于 javascript 中的少数用途,其中之一是日期小部件的日历图标 url。
在本地,这工作得很好,URL 最终是 /static/admin/
。然而,在生产中,它最终成为 http://myaws.s3.address/admin
,没有尾部斜杠。
我一生都无法弄清楚这会如何发生。这是 Django 1.4。我的 aws STATIC_URL
以尾部斜杠结尾。这必须在静态文件应用程序的某个地方,对吗?我不知道如何追踪这个。
最佳答案
嘎嘎!
发现问题了。这是 django 存储(特别是 s3)中的一个错误:
http://code.larlet.fr/django-storages/issue/121/s3boto-admin-prefix-issue-with-django-14
关于django {% static "admin/"% }' producing ' admin' 仅在生产中缺少尾部斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12033210/