html跳转页面搜索栏,自定制页面跳转时携带原搜索参数的URL

介绍

django自带反向解析生成URL的功能,目的是避免硬编码,较少代码维护的代价。

前端页面使用模板语法,如:{% url "rbac: request menu_list" %}

后台视图函数使用django组件函数:reverse()

但是,当需要在页面跳转时携带浏览器搜索框中的GET请求的参数时(如,'?page=1'),上述方法就难以满足需求,需要自定制反向生成路由的方法。

这里可以考虑使用django的simple_tag并利用组件QueryDict

前端页面反向生成url

前端页面扩展原模板语法的反向解析功能

利用simple_tag前端页面对反向解析url做出来

使用QueryDict打包当前URL中的参数,会自动转译

@register.filter

def memory_url(request, name, *args, **kwargs):

"""

生成带有原搜索条件的url

:param request:

:param name: 带namespace的url别名

:return:

"""

original_url = reverse(name, args=args, kwargs=kwargs)

# 当前url中无搜索条件

if not request.GET:

return original_url

query_dict = QueryDict(mutable=True)

query_dic

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值