收集的排序不起作用

时间:2015-06-11 11:38:16

标签: jekyll liquid

当我尝试对集合进行排序时,我遇到了一种奇怪的行为。 当我对名称为#34; collection_name"的集合进行排序时由

{% assign collection = site.collection_name | sort:"weight" %}

没有问题。所有馆藏均可在site.collections{% assign collection_to_be_sorted = site.collections[collection_name].docs} 中找到 可以通过

访问相同的集合
{% assign collection = collection_to_be_sorted | sort:"weight" %}

但排序

Liquid Exception: undefined method `sort' for nil:NilClass in _includes/navigation.html

导致错误

{{ collection_to_be_sorted.weight }}

但是,class ReportList(views.LoginRequiredMixin, views.PermissionRequiredMixin, ListView): permission_required = "auth.damage-report-list" model = DamageReport template_name = 'panel/reports.html' paginate_by = 10 is_paginated = True def get_context_data(self, **kwargs): context = super(ReportList, self).get_context_data(**kwargs) for obj in context['object_list']: obj.alerts = DamageAlert.objects.filter(report__pk=obj.id) return context 存在。有没有人知道它为什么不起作用?

这非常烦人,因为我想浏览所有收藏品并对它们进行排序。

1 个答案:

答案 0 :(得分:1)

在表达式site.collections[collection_name].docs中,collection_name被视为液体变量。因此,不会返回任何集合。

尝试引用它以使其成为字符串:

site.collections['collection_name'].docs