Python 如何在Pootle中通过整体完成显示排序列表

Python 如何在Pootle中通过整体完成显示排序列表,python,html,django,pootle,Python,Html,Django,Pootle,嗨,我是Django的新手,在Pootle项目上工作 我想在pootle索引页面中按默认的总体完成情况进行排序。 例如,列出语言并按名称排序。您可以单击“排序”按钮查看按完成排序。但我想在每次加载页面时显示按完成排序的列表 在pootle/local_apps/pootle_app/templates/index/index.html中 <table class="sortable"> <tr> <th>

嗨,我是Django的新手,在Pootle项目上工作

我想在pootle索引页面中按默认的总体完成情况进行排序。 例如,列出语言并按名称排序。您可以单击“排序”按钮查看按完成排序。但我想在每次加载页面时显示按完成排序的列表

在pootle/local_apps/pootle_app/templates/index/index.html中

 <table class="sortable">
            <tr>
                <th>{% trans 'Language' %}</th>
                <th>{% trans 'Overall Completion' %}</th>
                <th>{% trans 'Last Activity' %}</th>
            </tr>
            {% for item in languages %}
            {% ifnotequal item.total 0 %}
            <tr class="{% cycle 'even' 'odd' %}">
                <td class="language">
                        <a href="{% filter l %}/{{ item.code }}/{% endfilter %}">{{ item.name }}</a></td>
                <td>
                        <div class="sortkey">{{ item.transper }}</div>
                        <div class="graph" title="{{ item.completed_title }}" dir="{% if LANGUAGE_BIDI %}rtl{% else %}ltr{% endif %}">
                        <div class="translated" style="width: {{ item.transper }}px"></div>
                        {% if item.fuzzy %}
                        <div class="fuzzy" style="{%if LANGUAGE_BIDI%}right{%else%}left{%endif%}: {{ item.transper }}px; width: {{ item.fuzzyper }}px"></div>
                        {% endif %}
                        {% if item.untrans %}
                        <div class="untranslated" style="{% if LANGUAGE_BIDI %}right{% else %}left{% endif %}: {{ item.transper|add:item.fuzzyper }}px; width: {{ item.untransper }}px"></div>
                        {% endif %}
                    </div>
                </td>   
                <td>{{ item.lastactivity }}</td>
            </tr>
            {% endifnotequal %}
            {% endfor %}
        </table>
我应该如何更改它,以便在默认情况下看到按总体完成排序

非常感谢您的建议

更改

items.sort(lambda x, y: locale.strcoll(x['name'], y['name']))

(这与内置的
cmp
函数配合得很好,因为
transper
字段由该函数转换为
int
s,该函数作为
添加百分比的一部分调用)

如果这不能产生您想要的顺序,只需切换对象
x
y


如果您需要在模板中对其进行排序(处理第三方应用程序的源代码通常不是一个好主意),您可以使用:


同样,如果这不是您想要的顺序,请使用。

Pootle的最新开发版本,成为Pootle 2.2,现在可以记住您选择的排序列。因此,重新加载页面将记住您上次使用的顺序。

谢谢eternicode!!{%用于语言中的项| dictsortreversed:“transper”%}有效!非常感谢!
items.sort(lambda x, y: locale.strcoll(x['name'], y['name']))
items.sort(lambda x, y: cmp(x['transper'], y['transper']))
{% for item in languages|dictsort:"transper" %}