【问题标题】:Creating a big url创建一个大网址
【发布时间】:2013-01-03 01:29:33
【问题描述】:

有参考: 排序1,排序2 过滤器1,过滤器2

我们点击一​​个 sort1 并有一个新的 url,例如:www.example.com?sort=1

然后我们点击filter1,我们必须有:www.example.com?sort=1&filter=1

然后我们点击filter2,我们必须有:www.example.com?sort=1&filter=2

等等……

我该怎么做,添加更多参数?我的参数会互相改变,而且总是只有一个。

【问题讨论】:

标签: django url sorting view filtering


【解决方案1】:

sortfilter 这样的查询参数将通过GET 变量传递给/ 路由。所以你的 URLconf 看起来像:

urls.py

...
url(r'^/$',
    sorter
),

请注意,不要将 GET 参数放在 URLconf 中。相反,它们以键值方式解析并放入HTTPRequst 对象,该对象将传递给您的视图。您的视图如下所示:

views.py

def sorter(request):
   ...

在这个视图中,您可以通过request.GET 访问您的GET 参数。例如,您可以使用request.GET['sort'] 来获取sort 参数的值。因为参数是键/值对,所以基本上可以按任意顺序拥有任意数量的参数,使用它们取决于视图的逻辑。对于请求处理的示例,您可能希望从 Part 4 of the tutorial 开始,注意 URL 查询参数是在 request.GET 而不是 request.POST 中传递的。

【讨论】:

    【解决方案2】:

    尝试the docs 中的一些示例,在模板和视图中将POST 替换为GET,看看会发生什么

    【讨论】:

      猜你喜欢
      • 2013-03-25
      • 1970-01-01
      • 2013-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多