• 76 添加用户后跳转原来的页面, 跟进记录表


    主要内容:

    1  添加用户后跳转到原来的页面:

      a : 出现的问题:, 在点击搜索条件后, 此时在添加满足条件的用户,不会出现在该页面, 跳转到 customer_lsit页面上

      b : 解决方案 : 把查询条件和路径拼接到url的后面, 此时html页面中a标签的url后面不能直接跟next = {{url}}, 而应该使用querydict的一个方法urlencode()

      c : 有以下两种方法:

        1 .在customer_list页面端的a标签, 拼接路径

          在后端的views方法写:

      url = request.get_full_path()
            print(url)
            qd = QueryDict()
            qd._mutable = True
            qd['next'] = url
            print(' 这是qd: ',qd)
            qdurl = qd.urlencode()
    

          在html页面中:(在后端返回页面的时候把该qdurl传过来)

            <a href="{% url 'add_customer'%}?{{ qdurl }}" class="btn btn-primary btn-sm">添加</a>
    

        2  定义一种方法

          在视图函数中的写法:

     
    在生成用户列表的cbv中写这样的一个方法, 在该用到的地方调用该方法.
    # 定义一个生成标签的方法
        def a_tag(self):
            url = self.request.get_full_path()
            print('这是full-path的内容',url)
            print('这是path-info的内容',self.request.path_info)
            qd = QueryDict()
            qd._mutable = True
            qd['next'] = url
            qdurl = qd.urlencode()
            print('这是编码后的eurl',qdurl)
            add_btn = '<a href="{}?{}" class="btn btn-primary btn-sm">添加</a>'.format(reverse('add_customer'), qdurl)
            return add_btn, qdurl
    

          在html中的写法:(后端传过来的是一个变量, 所以html页面渲染的时候直接用{}{就可以.})

     {{ add_btn1 }}
    

          注意1 : request.path-info和request.get_full_path的区别和联系

         这是full-path的内容 /customer_list/?query=%E6%9D%8E&page=2;  full-path获取全部的url的内容
         这是path-info的内容 /customer_list/                          path-info获取的是?之前的内容
    

          注意2: querydict的用法的注意点:

    1, 要想修改必须把属性_mutale = ture
    2, querydict的一个方法:urlencode()
    3, 优点
    {# 如果直接把url加在next的后面, 此时会出现取不到page的问题, 因为&符相当于多个条件, 只能取到&之前的内容.#}
    {#            <a href="{% url 'add_customer'%}?next={{ url }}" class="btn btn-primary btn-sm">添加</a>#}
    {# 现在把url写在querydict里面, 通过urlencode写成url的形式next=%2Fcustomer_list%2F%3Fquery%3D%25E6%259D%258E#}
    

    2 跟进记录表:

  • 相关阅读:
    .Net Core Swagger配置
    MySQL如何使用索引
    一个HTTP Basic Authentication引发的异常
    跑步花钱吗?
    跑步花钱吗?
    OpenShift中的持续交付
    在AWS中部署OpenShift平台
    壮美大山包-2017中国大山包国际超百公里ITRA积分赛赛记
    膝盖中了一箭之康复篇-两周年纪念
    HashiCorp Vault介绍
  • 原文地址:https://www.cnblogs.com/gyh412724/p/9849231.html
Copyright © 2020-2023  润新知