从民意调查应用程序创建插件
create plugin from polls application
我从 pip install -e git+http://git@github.com/divio/django-polls.git#egg=polls
安装了应用投票。应用程序已保存 /me/env/src/polls/
。我 运行 服务器来自 /me/project/
。我收到无法导入投票插件的错误消息。我如何定义投票应用程序使用自己的模型。
现在我想在我的模板中创建插件和占位符。
cms_plugins.py
from cms.plugin_base import CMSPluginBase
from cms.plugin_pool import plugin_pool
from polls.models import PollPlugin as PollPluginModel
from django.utils.translation import ugettext as _
class PollPlugin(CMSPluginBase):
model = PollPluginModel # <--not sure what to put here.
name = _("Poll Plugin") # Name of the plugin
render_template = "polls/plugin.html" #
def render(self, context, instance, placeholder):
context.update({'instance':instance})
return context
plugin_pool.register_plugin(PollPlugin) # register the plugin
polls/models.py
class Poll(models.Model):
question = models.CharField(max_length=200)
def __unicode__(self): # Python 3: def __str__(self):
return self.question
class Choice(models.Model):
poll = models.ForeignKey(Poll)
choice_text = models.CharField(max_length=200)
votes = models.IntegerField(default=0)
def __unicode__(self): # Python 3: def __str__(self):
return self.choice_text
首先您需要添加新应用。
定义 PollPluginModel 并 link 用 poll 定义它
polls/models
来自 django.db 导入模型
来自 cms.models 导入 CMSPlugin
来自 polls.models 导入民意调查
class PollPluginModel(CMSPlugin):
poll = models.ForeignKey(Poll)
def __unicode__(self):
return self.poll.question
请检查http://docs.django-cms.org/en/release-3.4.x/introduction/plugins.html。这里是插件的完整教程。
我从 pip install -e git+http://git@github.com/divio/django-polls.git#egg=polls
安装了应用投票。应用程序已保存 /me/env/src/polls/
。我 运行 服务器来自 /me/project/
。我收到无法导入投票插件的错误消息。我如何定义投票应用程序使用自己的模型。
现在我想在我的模板中创建插件和占位符。
cms_plugins.py
from cms.plugin_base import CMSPluginBase
from cms.plugin_pool import plugin_pool
from polls.models import PollPlugin as PollPluginModel
from django.utils.translation import ugettext as _
class PollPlugin(CMSPluginBase):
model = PollPluginModel # <--not sure what to put here.
name = _("Poll Plugin") # Name of the plugin
render_template = "polls/plugin.html" #
def render(self, context, instance, placeholder):
context.update({'instance':instance})
return context
plugin_pool.register_plugin(PollPlugin) # register the plugin
polls/models.py
class Poll(models.Model):
question = models.CharField(max_length=200)
def __unicode__(self): # Python 3: def __str__(self):
return self.question
class Choice(models.Model):
poll = models.ForeignKey(Poll)
choice_text = models.CharField(max_length=200)
votes = models.IntegerField(default=0)
def __unicode__(self): # Python 3: def __str__(self):
return self.choice_text
首先您需要添加新应用。
定义 PollPluginModel 并 link 用 poll 定义它 polls/models 来自 django.db 导入模型 来自 cms.models 导入 CMSPlugin 来自 polls.models 导入民意调查
class PollPluginModel(CMSPlugin):
poll = models.ForeignKey(Poll)
def __unicode__(self):
return self.poll.question
请检查http://docs.django-cms.org/en/release-3.4.x/introduction/plugins.html。这里是插件的完整教程。