Python 如何在Django列表中按排序
这是一份工作及其价格的清单。 我需要分拣方面的帮助。我想这样,当您单击“按预算排序”时,列表按预算递减排序,再次单击时,更改为按预算递增排序。我不知道这是否需要一个新的页面site/findjob/sortbybudget,但我更喜欢在site/findjob中这样做。我将感谢任何帮助或参考,我可以读到这样做 这是url.pyPython 如何在Django列表中按排序,python,django,generics,listview,sorting,Python,Django,Generics,Listview,Sorting,这是一份工作及其价格的清单。 我需要分拣方面的帮助。我想这样,当您单击“按预算排序”时,列表按预算递减排序,再次单击时,更改为按预算递增排序。我不知道这是否需要一个新的页面site/findjob/sortbybudget,但我更喜欢在site/findjob中这样做。我将感谢任何帮助或参考,我可以读到这样做 这是url.py from django.conf.urls.defaults import patterns, include, url from project.preview.mo
from django.conf.urls.defaults import patterns, include, url
from project.preview.models import Task
info_task = {
'queryset': Task.objects.all(),
'template_name': 'template.html',
}
urlpatterns = patterns('',
(r'^findtask/$', 'django.views.generic.list_detail.object_list', dict(info_task)),
)
这是:template.html
<div class="sortList">
**Sort by:**
<ul>
<li class="sort"><a href=""/>Budget</a></li>
<li class="sort"><a href=""/>Newly Added</li>
</ul>
</div>
<div class="taskListCon">
{% for object in object_list %}
<div class="taskCon">
<div class="Title">
{{ object.title_description }}
</div>
<div class="clientID">
{{object.userid}}
</div>
<div class="Price">
Budget:{{ object.max_budget }}
</div>
<div>
{% endfor %}
**排序方式:**
- 新增
{对象列表%中的对象的百分比}
{{object.title_description}}
{{object.userid}
预算:{{object.max_Budget}}
{%endfor%}
我建议的解决方案不是重新发明轮子,而是享受一个可以正确使用的可重用应用程序
简化了将数据集转换为HTML表的任务。它有
本机支持分页和排序。它适用于HTML表
django.forms对HTML表单的作用。e、 g
其特点包括:
- 任何iterable都可以是数据源,但还包括对Django QuerySet的特殊支持
- 内置UI不依赖JavaScript
- 支持基于Django模型自动生成表
- 通过子类化支持自定义列功能
- 分页
- 基于列的表排序。
- 模板标记,以支持对HTML的简单呈现
- Django 1.3中使用的通用视图mixin
我个人会使用jQuery tablesorter之类的工具来解决这个问题。这将为每次排序节省到服务器的往返行程
文档:另一个选项是使用django过滤器。只需查看示例应用程序:
如果您选择这条路线,在我看来,tastypie是一个更好的选择。