我已将我的Django应用程序部署到Google App Engine。它在管理员应用程序中使用grappelli以获得额外的惊人效果,虽然它看起来运行正常但是有一个巨大的绊脚石,我似乎无法摆脱它。提到的问题为here,并在管理员应用中的列表视图中显示。从列表中选择模型并对它们执行任何预定义的操作是不可能的。
在管理员应用中的所有列表视图中,我收到一个Javascript错误:
Uncaught TypeError: Object [object Object] has no method 'actions'
发现它来自以下Javascript代码片段:
<script type="text/javascript" charset="utf-8">
(function($) {
$(document).ready(function() {
$("tr input.action-select").actions();
});
})(grp.jQuery);
</script>
我做过的事情:
STATIC_ROOT
添加了settings.py
和STATIC_URL条目。manage.py collecstatic
来收集静态文件。现在,所有静态文件都位于应用程序根目录中的静态目录中,如settings.py
中所述。问题很可能是由我的配置引起的 - 因为我的本地机器上的应用程序完美无瑕 - 但我找不到任何错误。关于如何解决这个问题的任何想法?
编辑:只是为了完成,我使用Django 1.4
并grappelli 2.4
在Google Cloud SQL
上运行
答案 0 :(得分:1)
这仍然是一个谜,我无法解决它,但是评论中描述的方式。根据Github的问题清单,对于没有明确解决方案的几个用户来说这是一个问题。
答案 1 :(得分:0)
从查看此票证:https://github.com/sehmaschine/django-grappelli/issues/214
通过在如下设置中更改staticfiles_finders的顺序,您的问题可以解决:
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'django.contrib.staticfiles.finders.FileSystemFinder',
)
我没有注意到的是他们必须按照这个顺序。
清除缓存等后,它开始为我工作。