2

コメントを並べ替えて、最新のものを最初に表示したいと思います。組み込みの Django コメント フレームワークを使用しています。これを行う組み込みの、または簡単な方法はありますか?

4

2 に答える 2

6

Django ドキュメントから:

You can loop over a list in reverse by using {% for obj in list reversed %}.

したがって、私のテンプレートには次のものがあります。

{% for comment in comment_list reversed %}

あなたのコメントは今逆になっています。

于 2012-09-02T19:53:08.567 に答える
0

https://docs.djangoproject.com/en/dev/ref/contrib/comments/custom/を試すことができます

class ReorderComment(Comment):
    class Meta:
        ordering = ["-submit_date"]

settings.py で

COMMENTS_APP = 'my_comment_app' 

または、テンプレートタグを作成してそれらを並べ替えることができます

{% get_comment_list for event as comment_list %}
{% reoder_comments comment_list as reodered_comment_list %}

リーダーのテンプレートタグは次のようになります (django-classy-tags を使用)

register = template.Library()
class ReoderComments(Tag):
    name = 'reoder_comments'
    options = Options(
        Argument('queryset'),
        'as',
        Argument('varname', required=False, resolve=False)
    )
    def render_tag(self, context, queryset, varname):
        context[varname] = queryset.order_by("-submit_date")
        return ''
register.tag(ReoderComments)
于 2012-07-21T01:12:56.290 に答える