输出最后10条消息使用django-sidebar

时间:2013-08-26 23:15:47

标签: python django templates widget sidebar

我使用django-sidebar(https://github.com/ekaputra07/django-sidebar)来构建我的小部件。我知道如何使用简单的变量,但是现在我不能使用对象来接收数据。 下面我提供我的代码(例如文件django_latest_posts.py):

from sidebar.base import SidebarWidget, sidebar_widget
from django import forms
from news.models import Post


TEMPLATE = """
<div class="last_posts">
{% for post in posts %}
   <div>{{post}}</div>
{% endfor %}
 </div>
"""

#TEMPLATE = get_template('latest_posts_widget.html')



class TextForm(forms.Form):
    text = forms.CharField(widget=forms.Textarea)
    posts = BlogPost.objects.all()[:2]  # I need to show last two posts


class LatestPosts(SidebarWidget):
    #admin_form = TextForm
    #template_text = get_template('latest_posts_widget.html')
    template_text = TEMPLATE

# register the Widget
sidebar_widget = LatestPosts('Latest Posts','Display a Latest Posts')

请帮我解释如何在TEMPLATE中更正接收数据? 谢谢你的任何想法!

1 个答案:

答案 0 :(得分:0)

您应该使用自定义模板标记来实现此目的。最合适的似乎是inclusion tags(但值得阅读整章!)。 有一个很好的分步说明,应该适合你。