You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1234567891011121314151617181920212223242526
  1. from django.shortcuts import render
  2. def handler403(request):
  3. return render(request, '403.html', status=403)
  4. def handler404(request):
  5. return render(request, '404.html', status=404)
  6. def handler500(request):
  7. return render(request, '500.html', status=500)
  8. def sort_queryset(queryset, request, allowed_sorts, default=None):
  9. """ Sorts the queryset by one of allowed_sorts based on parameters
  10. 'sort' and 'dir' from request """
  11. sort = request.GET.get('sort', None)
  12. if sort in allowed_sorts:
  13. direction = request.GET.get('dir', 'asc')
  14. sort = ('-' if direction == 'desc' else '') + sort
  15. queryset = queryset.order_by(sort)
  16. elif default:
  17. queryset = queryset.order_by(default)
  18. return queryset