Django Admin,Amazon S3,Heroku - 缺少icon_calendar

时间:2013-07-31 01:50:49

标签: python django heroku amazon-s3 django-storage

好的,我一直在学习Django,但我是该框架的初学者。我是粉丝。我有一个在heroku上运行的构建,其中静态文件是使用Django-storage从Amazon S3提供的。它很容易上手,没有任何困难。

但是,我错过了日历图标。检查来源显示admin&之间没有斜杠。 IMG。

示例:

https://s3.amazonaws.com/heroku-sdbhvaehv/adminimg/icon_clock.gif

这是一个明显存在于此处列出的Django存储中的错误:

http://code.larlet.fr/django-storages/issue/121/s3boto-admin-prefix-issue-with-django-14

我已经实现了评论中列出的各种修补程序而没有运气。

我在SO和Google网上论坛上发现了两个帖子,但没有解决方案。

Using Django and s3boto, some admin images (icon_clock.gif & icon_calendar.gif) don't display

所以 - 我正在寻找有关如何修复此图标的任何解决方案。我不在乎是否每次推送后都要修改一些东西,或者做任何事情 - 但我不能错过日历图标。

有任何帮助吗?

1 个答案:

答案 0 :(得分:4)

问题不在于boto或django-storages。

问题是django管理员错过了{% static %}标记。静态标记(正确地)假设它正在查看整个URL,并且它可以任意修改该URL。通过仅传入一个前缀,django管理员正在破坏该合同(在最简单的情况下不会被检测到,但当你尝试做任何更复杂的事情时,这将是一个大问题。

您应该针对django提交错误或修补程序,以便将所有资产网址明确传递给静态标记,并将这些完整资源URI转储到javascript环境中。

编辑:此解决方案应该适合您: http://code.larlet.fr/django-storages/issue/121/s3boto-admin-prefix-issue-with-django-14#comment-1604389

请确保将AWS_QUERYSTRING_AUTH设置为False,否则您会在那里夹入查询字符串。