当我尝试对集合进行排序时,我遇到了一种奇怪的行为。 当我对名称为#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
存在。有没有人知道它为什么不起作用?
这非常烦人,因为我想浏览所有收藏品并对它们进行排序。
答案 0 :(得分:1)
在表达式site.collections[collection_name].docs
中,collection_name
被视为液体变量。因此,不会返回任何集合。
尝试引用它以使其成为字符串:
site.collections['collection_name'].docs