渲染模板django cms插件中的简单循环

时间:2016-11-15 11:34:06

标签: python django django-templates django-cms

我想循环从渲染模板中的数据库中获取的数据。使用cms插件。 我在html模板中没有问题循环数据。但是,如果我使用CMSPlugin在占位符中插入新的应用程序,则不会显示任何内容。

如果我运行url localhost:port / test.html。我得到了我想要的输入。但渲染模板不会循环数据。

{% for post in posts %}
   {{ post.firstoption }}
{% endfor %}

如果我使用下面的代码,我的渲染模板中没有显示任何内容。值在渲染模板中传递。因为,如果我尝试{{instance.firstoption}},我会在模板中显示值。问题是我不能用标签实例循环数据。

{% for post in instance.posts %}
  {{ post.firstoption }}
{% endfor %}

我也试过{% for post in instance.posts_set.all %}{% for post in instance.posts.all %}

cms_plugins.py

class pricing(CMSPluginBase):
    model = mymodel
    name = _("myplugin")
    render_template = "template.html"
    cache = False

    def render(self, context, instance, placeholder):
        context.update({'instance': instance})
        return context

models.py

class mymodel(CMSPlugin):
    firstoption = models.CharField(max_length=200)


        def __str__(self):
    return self.firstoption

1 个答案:

答案 0 :(得分:2)

可能是因为您需要在帖子上致电all

{% for post in instance.posts.all %}
  {{ post.firstoption }}
{% endfor }