zoukankan      html  css  js  c++  java
  • 保留原页面的参数条件

    保留原页面搜索条件
      实现方式一:
        列表页面:
          获取当前所有条件,添加到
            - 编辑按钮的URL后面
            - 添加按钮的URL后面
        编辑或添加页面:
          - POST提交时,获取原来列表页面传过来的条件
          - 拼接URL /hosts/?原来的条件

        list页面:

          list_condition = request.GET.urlencode()

          {% for item in host_list %}
          <li>{{ item }} <a href="/edit/54/?{{ list_condition }}">编辑</a></li>
          {% endfor %}

        add/edit页面:http://127.0.0.1:8000/edit/10/?page=5&id__gt=4
          def edit_host(request,pk):
            if request.method == "GET":
              return render(request,'edit_host.html')
            else:
              # 修改成功 /hosts/?page=5&id__gt=4
              url = "/hosts/?%s" %(request.GET.urlencode())
              return redirect(url)

      实现方式二:
        list页面: http://127.0.0.1:8000/hosts/?page=5&id__gt=4

          params = QueryDict(mutable=True)  #如果是对象调用该方法(需要加下划线):params._mutable = True
          params['_list_filter'] = request.GET.urlencode()
          list_condition = params.urlencode()


          {% for item in host_list %}
          <li>{{ item }} <a href="/edit/54/?{{ list_condition }}">编辑</a></li>
          {% endfor %}

        add/edit页面:http://127.0.0.1:8000/edit/54/?_list_filter=page%3D5%26id__gt%3D4

          def edit_host(request,pk):
            if request.method == "GET":
              return render(request,'edit_host.html')
            else:
              # 修改成功 /hosts/?page=5&id__gt=4
              url = "/hosts/?%s" %(request.GET.get('_list_filter'))
              return redirect(url)

  • 相关阅读:
    6、方法
    5、封装
    4、循环
    3、判断
    2、基本语法
    1、基本框架
    CodeForces 681C Heap Operations(模拟)
    CodeForces 682C Alyona and the Tree(广搜 + 技巧)
    URAL 2099 Space Invader题解 (计算几何)
    HDU 5833 (2016大学生网络预选赛) Zhu and 772002(高斯消元求齐次方程的秩)
  • 原文地址:https://www.cnblogs.com/wangbaihan/p/8060331.html
Copyright © 2011-2022 走看看