Python 如何继承和修改标准Django CMS链接插件?
我尝试了以下代码: cms_plugins.py:Python 如何继承和修改标准Django CMS链接插件?,python,django,python-2.7,django-cms,Python,Django,Python 2.7,Django Cms,我尝试了以下代码: cms_plugins.py: from djangocms_link.cms_plugins import LinkPlugin from .models import SecondaryNavigationLink class SecondaryNavigationLinkPlugin(LinkPlugin): name = _("Secondary Navigation Link") model = SecondaryNavigationLink
from djangocms_link.cms_plugins import LinkPlugin
from .models import SecondaryNavigationLink
class SecondaryNavigationLinkPlugin(LinkPlugin):
name = _("Secondary Navigation Link")
model = SecondaryNavigationLink
def render(self, context, instance, placeholder):
context.update({
'instance': instance,
'placeholder': placeholder,
})
return context
plugin_pool.register_plugin(SecondaryNavigationLinkPlugin)
models.py:
from djangocms_link.models import Link
class SecondaryNavigationLink(Link):
pass
我可以看到我的链接插件在cms控制面板的“通用”部分下呈现,但当我单击“保存”时,我看到请求中出现500间隔服务器错误,Django cms呈现的插件块如下所示
Secondary Navigation Link <Empty>
我对此无能为力。因此,我犯了一个愚蠢的错误,覆盖了Link plugin的默认呈现方法: 这个问题可以通过简单地去掉我的渲染函数来解决:
class SecondaryNavigationLinkPlugin(LinkPlugin):
name = _("Secondary Navigation Link")
model = SecondaryNavigationLink
# No more render
好的,我解决了这个问题,我不应该覆盖渲染方法。我怎样才能关闭这个问题?你可以自己回答并接受答案。