【发布时间】:2016-11-17 04:37:06
【问题描述】:
我想为 Django CMS 创建一个自定义插件。正如guide 所示,我创建了一些示例。但现在的目标是创建一个从(mysql)数据库获取数据的插件。它将加载属于菜单的所有标题,因为我想要一些类似于目录的标题。
要从自定义模型中获取数据,代码如下:
-
models.py:
from cms.models.pluginmodel import CMSPlugin from django.db import models class Hello(CMSPlugin): guest_name = models.CharField(max_length=50, default='Guest') cms_plugins.py:
从 cms.plugin_base 导入 CMSPluginBase
from cms.plugin_pool import plugin_pool
from django.utils.translation import ugettext_lazy as _
from .models import Hello
class HelloPlugin(CMSPluginBase):
model = Hello
name = _("Hello Plugin")
render_template = "hello_plugin.html"
cache = False
def render(self, context, instance, placeholder):
context = super(HelloPlugin, self).render(context, instance, placeholder)
return context
plugin_pool.register_plugin(HelloPlugin)
但是由于cms_title默认属于Django-CMS,这里有哪些可能的选项?在哪里可以找到名称为 Title 的 CMS 模型的定义?将其设置为 CMSPlugin 实例会是一个坏方法吗?
【问题讨论】:
标签: python django django-cms