2016-05-23 3 views
0

Я хотел бы создать плагин Django CMS, который в основном используется как дочерний элемент TextPlugin (djangocms-text-ckeditor). Он предназначен для возврата ссылки на страницу приложения.Может ли метод класса CMSPluginBase напрямую возвращать html настраиваемого плагина?

С этой целью я подклассу CMSPluginBase, как описано в документе. Кажется, что CMSPluginBase полагается на каждый плагин, чтобы иметь свой собственный шаблон.

Должен ли я иметь template.html файл или я могу написать метод подкласса CMSPluginBase, который непосредственно возвращает обработанную HTML (по существу что-то очень простое, как '<a href="/some/page">App link</a>') и избежать вызова шаблона быть вынесено?

Большое спасибо за помощь!

ответ

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) 

 Смежные вопросы

  • Нет связанных вопросов^_^