zoukankan      html  css  js  c++  java
  • django之自定义标签(路径url反向解码)

    django之自定义标签

    django之自定义标签

    自定义标签创建

    1. 在应用文件夹下创建templatetags文件夹
    2. 在文件夹下创建py脚本,如mytags.py
    3. 在mytags.py写入自定义标签的处理代码
    #自定义标签传参后,携带原路径参数或跳转路径的获取数据参数
    #自定义标签
    from django import template
    from django.urls import reverse
    

    register = template.Library()

    @register.simple_tag
    def resolve_url(request,url_name,cid):
    """

    :param request: 请求对象
    :param url_name:  url别名
    :param cid:    客户id
    :return:
    """
    from django.http.request import QueryDict
    custom_query_dict = QueryDict(mutable=True)
    custom_query_dict['next'] = request.get_full_path()   #要跳转回的url
    next_url = custom_query_dict.urlencode()    #将得到的搜索路径url编码
    
    reverse_url = reverse(url_name,args=(cid,))     #编辑的url    ?next=要跳转的url
    full_path = reverse_url + '?' + next_url
    return full_path
    

    在前端页面中,数据传参

    <a href="{{ resolve_url request "case_edit" foo.id }}"></a>
    

    后端view视图

    from django.shortcuts import render,redirect,HttpResponse,
    next_url = request.GET.get("next")
    return redirect(next_url)
    
  • 相关阅读:
    mysql的导出与导入命令的使用
    kendo ui 左侧弹出分享框
    Pytorch离线安装方法
    Python单词接龙小程序
    Shell结束指定名称的进程
    Shell脚本sed命令修改文件的某一行
    Shell中单双引号的区别
    矩阵问题
    泛型通配符详解
    合并链表
  • 原文地址:https://www.cnblogs.com/g15009428458/p/12144847.html
Copyright © 2011-2022 走看看