2012-04-03 22 views
3

这是一份工作列表及其价格。 我需要排序帮助。我想这样做的目的是,当您点击按预算排序时,列表按预算减少排序,再次点击时按更改预算排序。我不知道这是否需要新的网站/ findjob/sortbybudget,但我更喜欢在site/findjob中执行此操作。我会很感激任何帮助或引用我可以阅读做到这一点。如何在Django列表中进行排序

这是urls.py

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 %} 
+0

为什么不是一个视图? – luke14free 2012-04-03 08:35:38

回答

2

而不是重新发明轮子,我提出的解决方案是享受可重复使用的应用程序,是否正确。

django-tables2 简化了将数据集转换为HTML表格的任务。它有 原生支持分页和排序。它适用于HTML表格 django.forms为HTML表单所做的工作。例如

它的特点包括:

  • 任何迭代可以是一个数据源,但包括用于Django的查询集的特殊支持。
  • 内置用户界面不依赖于JavaScript。
  • 支持基于Django模型的自动表格生成。
  • 通过子类别支持自定义列功能。
  • 分页。
  • 基于列的表格排序。
  • 模板标签,可以将简单呈现转换为HTML。
  • 在Django 1.3中使用的通用视图mixin。

Screenshot

2

个人而言,我会使用类似的jQuery的tablesorter来解决这个问题。这将为您节省每次往返服务器的时间。

文档:http://tablesorter.com/docs/