021:自定义path(或url)转换器
1、实现如下需求:用户可以根据articles/list/方式获取文章,其中文章分类是采用如下分类,实例如下:
- 第一种:获取python分类下的文章:/article/python/
- 第二种:获取python和django分类下的文章:/article/python+django
- 第三种:获取python、django和flask分类下的文章:/article/python+django+flask ……以此类推
步骤一:
步骤二:
步骤三:
2、实现如下需求:
- 在“文章分类”参数传到视图函数之前要把这些分类分开来存储到列表中,比如:参数是:python+django+flask,那么变化后的结果是['python','django','flask'];
- 在使用reverse反转的时候,限制传递“文章分类“的参数应该是一个列表,并将这个列表变成:python+django+flask(和上面相反的过程);
第一步:
第二步:
第三步:
第四步:
总结一下:自定义 url 转换器按照以下五个步骤来走就可以了:
1. 定义一个类;
2. 在类中定义一个属性 regex ,这个属性是用来保存 url 转换器规则的正则表;
3. 实现 to_python(self,value) 方法,这个方法是将 url 中的值转换一下,然后传给视图函数的;
4. 实现 to_url(self,value) 方法,这个方法是在做 url 反转的时候,将传进来的参数转换后拼接成一个正确的url;
5. 将定义好的转换器,注册到django中;
转载于:https://www.cnblogs.com/zheng-weimin/p/10162166.html
021:自定义path(或url)转换器相关推荐
- Django从理论到实战(part15)--自定义path转换器
学习笔记,仅供参考 参考自:Django打造大型企业官网: 本系列Blog以应用为主,理论基础部分我在后端专栏的Django系列博客已经写过了,如果有些需要补充的知识点,我会在这个系列中,尽量详细的写 ...
- jqGrid细节备注—jqGrid中自定义格式,URL格式
jqGrid中自定义格式,URL格式 当官方自带的showlink用起来不是十分顺手,因此可以考虑自己定义url格式 自定义格式其实很简单,在formatter:处填写函数名 比如formatter: ...
- Flak 自定义URL转换器
本文转载:https://www.cnblogs.com/captainmeng/p/8572838.html URL转换可以使用户访问多个场景,继承了一个BaseConverter类.URL有些不太 ...
- 用自定义IHttpModule实现URL重写
在本人拙作<ASP.NET夜话>第十二章中探讨过ASP.NET底层运行机制的问题,在该书中本人也讲到过了解一些ASP.NET的低层机制对于我们灵活控制ASP.NET有很大帮助,在该书中本人 ...
- linux增加自定义path和manpath
linux安装软件到自定义路径时,新安装的命令需要带上路径才可以执行,不能像系统自带命令那样可以直接使用. 这个时候可以通过修改环境变量PATH和MANPATH,来实现像系统命令一样使用新安装的命令并 ...
- php如何定义url,使用自定义函数作为URL规则
在创建定义URL规则的时候,毕竟系统自带的通配符变量有限,如果发现通配符变量没法满足你的实际需求 我们可以使用自定义函数来做,当然需要有PHP基础的人才行~ 比如我在模块内容的url中想把标题titl ...
- 通过自定义Module实现URl重写和登陆验证
首先我们新建一个类库命名为Module,然后新建一个类命名为UrlRewriteModule 并且实现IHttpHandler接口代码如下 public class UrlRewriteModule: ...
- 微信自定义分享指定url
记笔记,备后面自己查询! 这两天写的H5页面一个页面包含多个不同的链接模块如下图这种,每种分享的链接都不是当前链接,指定自定义的链接. 微信官方开发者文档:https://mp.weixin.qq.c ...
- vue微信分享给朋友,朋友圈自定义网页链接url改变了
以下是微信分享给朋友,朋友圈的部分代码 wx.ready(function(){// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客 ...
最新文章
- 史上最完整的人工智能书单大全,学习AI的请收藏好
- DALL·E这波超进化,画质艺术感双飞升,还学会了无痕P图
- b500k电位器引脚接法_可调电位器实物接线图及接线方法详解
- 构造器是什么?(Java篇)
- C++ STL 容器之 deque简单使用
- 车站广播系统采用计算机,公共广播系统
- 分享一款在线考试学习系统.net源码
- VUE 中使用 Element 时间控件(简单上手)
- MyEclipse配置Tomcat7
- Oracle导出部分表 par,Oracle使用par文件进行全库导入导出
- 浅谈 MySQL 写数据一致性保障机制
- java最早的游戏_回忆S60(塞班)年代的JAVA游戏
- java获得指定时间的前几天或后几天是哪一天
- Python实现的图书分析大屏展示系统(附源码)
- 用计算机打出刚好遇见你,【计算机·故事】刚好遇见你 余生都是你
- 我的世界网易服务器修改世界,我的世界:1.16改变两个版本更新频率?网易版异常乱封大批账号?...
- 穷人家的孩子真的没戏了吗?道翰天琼认知智能机器人api接口平台为您解密-1!
- python语言创意绘画-银川童程童美Python少儿编程班价格
- java团购系统开发_基于jsp的团购管理系统化-JavaEE实现团购管理系统化 - java项目源码...
- Uboot 2017.01 启动流程分析
热门文章
- java-01 JAVA三大版本比较JDK、JRE、JVM 的关系
- python @classmethod 和 @staticmethod区别,以及类中方法参数cls和self的区别
- Mac idea 打不开
- IntelliJ IDEA 问题总结之二 —— 快捷键、主题样式、导出jar、sqlite
- Oracle 11g R2手动配置EM(转)
- [转]js 取得 Unix时间戳(Unix timestamp)
- Electron-builder打包安装程序遇到的问题解决方案
- 【数据库】oracle数据库----内嵌视图
- cadence遇到的问题(持续更新)
- 作为一个web开发人员,哪些技术细节是在发布站点前你需要考虑到的