021:自定义path(或url)转换器
生活随笔
收集整理的這篇文章主要介紹了
021:自定义path(或url)转换器
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、實(shí)現(xiàn)如下需求:用戶可以根據(jù)articles/list/方式獲取文章,其中文章分類是采用如下分類,實(shí)例如下:
- 第一種:獲取python分類下的文章:/article/python/
- 第二種:獲取python和django分類下的文章:/article/python+django
- 第三種:獲取python、django和flask分類下的文章:/article/python+django+flask? ? ? ? ? ? ?……以此類推
?
步驟一:
步驟二:
步驟三:
?2、實(shí)現(xiàn)如下需求:
- 在“文章分類”參數(shù)傳到視圖函數(shù)之前要把這些分類分開來存儲(chǔ)到列表中,比如:參數(shù)是:python+django+flask,那么變化后的結(jié)果是['python','django','flask'];
- 在使用reverse反轉(zhuǎn)的時(shí)候,限制傳遞“文章分類“的參數(shù)應(yīng)該是一個(gè)列表,并將這個(gè)列表變成:python+django+flask(和上面相反的過程);
第一步:
第二步:
第三步:
第四步:
?
總結(jié)一下:自定義 url 轉(zhuǎn)換器按照以下五個(gè)步驟來走就可以了:
1. 定義一個(gè)類;
2. 在類中定義一個(gè)屬性 regex ,這個(gè)屬性是用來保存 url 轉(zhuǎn)換器規(guī)則的正則表;
3. 實(shí)現(xiàn) to_python(self,value) 方法,這個(gè)方法是將 url 中的值轉(zhuǎn)換一下,然后傳給視圖函數(shù)的;
4. 實(shí)現(xiàn) to_url(self,value) 方法,這個(gè)方法是在做 url 反轉(zhuǎn)的時(shí)候,將傳進(jìn)來的參數(shù)轉(zhuǎn)換后拼接成一個(gè)正確的url;
5. 將定義好的轉(zhuǎn)換器,注冊到django中;
?
轉(zhuǎn)載于:https://www.cnblogs.com/zheng-weimin/p/10162166.html
總結(jié)
以上是生活随笔為你收集整理的021:自定义path(或url)转换器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 001@多用派发队列,少用同步锁
- 下一篇: django踩坑