Django flatpages:排序lis

2024-06-17 08:48:48 发布

您现在位置:Python中文网/ 问答频道 /正文

{% load flatpages %}
{% get_flatpages as flatpages %}
<ul>
{% for page in flatpages %}
    <li><a href="{{ page.url }}">{{ page.title }}</a></li>
{% endfor %}
</ul>

上面的代码将呈现一个包含flatpages的简单无序列表。我想用每个flatpage的“index”属性对它们进行排序,而不是按“url”属性的字母顺序(默认情况下是这样)。在


Tags: 代码inflatpagesurlforget属性title
2条回答

既然您不能(不应)更改flatpages的核心模型,您可以继承它:

CustomFlatpage(Flatpage)
    # Possible extra fields, add methods or your own object manager
    class Meta:
         ordering = ['somefield']

如果您想要一个简化的方法,可以编写一个templatetag来(重新)对查询集进行排序。这可能会造成一些开销,但除非你的网站流量大或包含数千个平面页面,否则这应该没问题。在

^{pr2}$

您应该尝试编写排序筛选器,或者尝试使用

dictsort

或者写django赋值标记。在

相关问题 更多 >