2012-04-03 24 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/