2011-08-12 26 views

回答

0

在这种情况下,顺序并不重要

  • Django的分页寻找一个变量page
  • Django的排序验看sort and dir变量。

所以这两个只是填充请求对象与他们的变量。如果例如其中一些需要django.auth框架,则顺序很重要:认证使用框架必须在'django.contrib.auth.middleware.AuthenticationMiddleware'之后等。

Django中间件类很容易阅读,所以看来源,帮助了很多:-)了解正在发生的事情。

+0

非常感谢。但我有点困惑。那么真正的分类在哪里发生?我们只需加载生成所需请求参数的模板标签。我们不改变视图中的查询集代码,但它仍然有效!在这种情况下,实际的查询执行发生在哪里? – Konstant

+1

看起来像排序发生在模板标签中。查看[template tag code]中的SortedDataNode(https://github.com/directeur/django-sorting/blob/master/django_sorting/templatetags/sorting_tags.py) – sandinmyjoints

+0

正如William指出的,排序发生在SortedDataNode上下文中[key] = value.order_by(order_by)'[line 99](https://github.com/directeur/django-sorting/blob/master/django_sorting/templatetags/sorting_tags.py#L99)。 – jazz