# 專案結構
mycodes # 倉庫
|-- my_project
|-- myproject
| |-- urls.py # 總路由
| |-- users
| | |-- urls.py # 子路由
|-- utils # 工具包,路由轉換器就放在這裡
| |-- converters.py # 路由轉換器
|-- manage.py
一般會把路由轉換器放在乙個叫做命名為utils
的工具包裡.
首先編寫路由轉換器倉庫/專案目錄/專案主目錄/utils/converters.py
中路由轉換器的內容:
class usernameconverter:
"""自定義路由轉換器"""
# 定義正規表示式
regex = '[a-za-z0-9_-]'
def to_python(self, value):
# 將匹配結果傳遞到檢視內部時使用
# 返回str還是int主要看需求,純數字的可以返回int
return str(value)
def to_url(self, value):
# 將匹配結果用於反向解析傳值時使用
return str(value)
class mobileconverter:
regex = '1[3-9]\d'
def to_python(self, value):
return int(value)
def to_url(self, value):
return str(value)
然後在主路由中註冊路由轉換器
主路由的位置在倉庫/myproject/myproject/urls.py
# 註冊路由轉換器
from django.urls import register_converter
from meiduo_mall.utils.converters import usernameconverter
from meiduo_mall.utils.converters import mobileconverter
register_converter(usernameconverter,'username')
register_converter(mobileconverter,'mobile')
在子路由中使用路由轉換器
urlpatterns = [
# 檢查重複使用者介面 20200702
path(r'usernames//count/',views.usernamecountview.as_view()),
# 檢查重複的手機號藉口
path(r'mobiles//count/',views.mobilecountview.as_view()),
]
Django的路由轉換器的使用
專案結構 mycodes 倉庫 my project myproject urls.py 總路由 users urls.py 子路由 utils 工具包,路由轉換器就放在這裡 converters.py 路由轉換器 manage.py一般會把路由轉換器放在乙個叫做命名為utils的工具包裡.首先編寫...
flask中路由轉換器
1.flask自帶的轉換器 def goods detail goods id return goods detail s goods id def hello itcast id return hello itcast d id 轉換器 int接受整數 float同int,但是接受浮點數 path...
ConvertUtils轉換器的使用
如果2個bean的屬性的型別不一樣,例如2個bean中birthday型別分別為string和date,需要自己註冊個轉換器,轉完後再copy convertutils也提供了乙個轉換器 convertutils.register new converter dateformat df new da...