【发布时间】:2015-09-16 09:56:29
【问题描述】:
我正在使用 Django-CMS 3.0.13 处理自定义插件:
class PromoPlugin(CMSPluginBase):
. . .
def get_urls(self):
print 'here' # <-- NEVER CALLED
return super(CMSPluginBase, self).get_urls()
并试图覆盖get_urls(),但我的覆盖从未调用。 CMSPluginBase 继承自 ModelAdmin (reference)...我忽略了什么?
编辑
所以,经过一番研究,实际的问题是 PlaceholderAdminMixin 的 edit_plugin url 踩到了另一个 mixin 的模式,特别是 django-genericadmin 的模式。
我添加了一个与PromoPlugin 类中的模式完全匹配的 url 模式,但该模式可能注册得太晚而无法覆盖edit_plugin 模式。所以,看起来我将调整 django-genericadmin 的 URL。
我将此答案标记为已接受,因为它是增强插件 URL 模式的正确方法。
【问题讨论】:
-
我看到了这张github.com/divio/django-cms/issues/1058 的票,但不知道它是否修好了,票已经很旧了 ;)
标签: django django-cms