zoukankan      html  css  js  c++  java
  • 自定义url转换器

    之前已经学习过一些django内置的url转换器,包括int,uuid,slug,path,...有时候这些内置的url转换器并不能满足我们的需求,因此django给我们提供了一个接口可以让我们自己定义自己的url转换器。

    自定义url转换器按照以下五个步骤来走就可以了:

    1:定义一个类

    2:在类中定义一个regex,这个属性是用来限制url转换器规则的正则表达式

    3:实现to_python(self,value)方法,这个方法是见url中的值转换一下,然后再传给视图函数

    4:实现to_url(self,value)方法,这个方法实在做url反转的时候,将传进来的关键字参数转换后拼接成一个正确url

    5:将定义好的这个类用django.urls.converters.register_converter 方法注册到django中

    DEMO

    • 需求:
    1.    现有各种技术文章,比如python,django,flask,html...用户可以根据/arlicle/list/分类1+分类2这种url查询方式 来查看具体的文章
    2. 第一种:获取python分类下的文章    /article/list/python
    3. 第二种:获取python和django分类下的文章           /article/list/python+django
    4. 第三种:获取python和django和flask分类下的文章              /article/list/python+django+flask

            以此类推。。。。

    • 要点:
    1.   在文章分类参数传到视图函数之前要把这些分类开来存储到列表中,比如参数是python+django,那么传到视图函数之前变成[‘python’,‘django’]
    2. 在使用reverse反转的时候,限制传递文章分类的参数应该是一个列表,并且要将这个列表变成‘python+django’的形式。
  • 相关阅读:
    wxpython笔记:应用骨架
    go 优雅的检查channel关闭
    Golang并发模型:流水线模型
    go http数据转发
    go 互斥锁与读写锁
    go 工作池配合消息队列
    实现Tcp服务器需要考虑哪些方面
    go Goroutine泄露
    关于个人博客转移的那些事
    Java并发编程:Thread类的使用介绍
  • 原文地址:https://www.cnblogs.com/nihao2/p/12071641.html
Copyright © 2011-2022 走看看