【问题标题】:Add a URL parameter with a relative hyperlink添加带有相对超链接的 URL 参数
【发布时间】:2012-03-31 07:32:30
【问题描述】:

我有一个用户访问的 URL:

mysite.com/page/?q=query

在该页面上,我想要一个相对超链接在页面之间移动,即:

<a href="?page=2">Next Page</a>

但是,如果我这样做,它只会替换整个先前的查询。有没有办法让它只添加到查询参数中?

【问题讨论】:

  • 您是否正在显示项目列表并希望对项目进行分页?

标签: python html django


【解决方案1】:

我会使用 POST 变量而不是您当前的 GET 查询字符串。

【讨论】:

    【解决方案2】:

    获取完整的查询字符串:

    query_string = "?%s" %request.META['QUERY_STRING'] 
    

    只获取q的值:

    if "q" in request.GET:
      q = request.GET.get('q')
    

    使用这些变量,您可以构建新链接。

    【讨论】:

      【解决方案3】:

      您可以使用request.get_full_path

      例如

      {{ request.get_full_path }}&page={{ next_page }} (mysite.com/page/?q=query&page=2)
      

      但是,如果您在下一页,则仅附加到 URL 会出现问题,页面参数将超过 1 个。

      例如

      mysite.com/page/?q=query&page=2&page=3
      

      最好的解决方案是使用request.path

      {{ request.path }}?q=query&page={{ next_page }}
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-04
        • 2018-10-24
        • 1970-01-01
        • 2015-06-04
        • 2013-08-27
        相关资源
        最近更新 更多