0

我想创建一个 Django CMS 插件,主要用作 TextPlugin ( djangocms-text-ckeditor) 的子级。它旨在返回指向应用程序页面的链接。

为此,我将 CMSPluginBase 子类化,如文档中所述。似乎 CMSPluginBase 依赖于每个插件都有自己的模板。

我是否必须有一个template.html文件,或者我可以为 CMSPluginBase 子类编写一个直接返回呈现的 html 的方法(本质上是非常简单的东西'<a href="/some/page">App link</a>'),并避免调用要呈现的模板?

非常感谢您的帮助!

4

1 回答 1

0

弄清楚了!

似乎render_template不一定是字符串。它也可以是一个django.template.Template实例。所以,我们开始:

from django.template import Template

class MyLinkPlugin(CMSPluginBase):
    render_template = Template('<a href="{{link}}">{{anchor}}</a>')
    def render(self, context, instance, placeholder):
        context['link']='http://google.com'
        context['anchor'] = 'Google me'
        return(context)
于 2016-06-03T21:04:22.593 回答