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)

  • 相关阅读:
    论 IntStream 和 for 循环的速度
    单链线性表的基本操作--创建,插入,删除,查看,打印
    Android中的异步处理方式
    Kotlin 集合变换与序列
    Kotlin Lazy延迟初始化
    协程及Kotlin协程
    Java 注解
    Android 事件传递机制进阶
    Java 异常
    Java 多线程及线程间通信(Synchronized和Volatile关键字)
  • 原文地址:https://www.cnblogs.com/wangbaihan/p/8060331.html
Copyright © 2011-2022 走看看