我正在使用Django和django-taggit应用。现在,我按原样传递标签:
def tags_page(request):
"""A page that displays all the tags."""
tags = Tag.objects.all()
response = render(request, 'tags_page.html', {'tags': tags})
return response
为了呈现包含所有这些内容的页面。我不确定它们是如何通过的,但我想先放置顶部标签,根据它们的使用时间对它们进行排序。但我不知道该怎么做。我是否以某种方式使用order_by?谢谢
答案 0 :(得分:1)
假设标签存储在列表中:
sorted(lst, key=lst.count, reverse=True)
collections.Counter
也有效,并且具有O(n)
counts = collections.Counter(lst)
new_list = sorted(lst, key=lambda x: -counts[x])
答案 1 :(得分:1)
实际上,例如,如果标签应用于名为Joke的模型,您可以简单地执行此操作:
<?xml version="1.0"?>
<xs:schema attributeFormDefault="unqualified"
elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Root">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="State">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="City">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="cafeID" type="xs:string" />
<xs:element minOccurs="0" name="cafeName" type="xs:string" />
<xs:element minOccurs="0" name="cafeState" type="xs:string" />
<xs:element minOccurs="0" name="cafeCity" type="xs:string" />
<xs:element minOccurs="0" name="cafeStreetName" type="xs:string" />
<xs:element minOccurs="0" name="cafeZip" type="xs:string" />
<xs:element minOccurs="0" name="cafeContact" type="xs:string" />
<xs:element minOccurs="0" name="cafeEmail" type="xs:string" />
<xs:element minOccurs="0" name="hasPickup" type="xs:string" />
<xs:element minOccurs="0" name="hasDriveThru" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
它运作得很好。