以上URL请求传递参数username,此username需进行校验,不满足条件,不需要进入视图进行验证,减少数据库调用。
可自定义转换器,编写正则,对参数进行校验,不满足条件直接显示404,找不到页面。
from django.urls import converters
class UsernameConverter:
regex = '[a-zA-Z0-9_]'
def to_python(self, value):
return value
总路由urls.py
# 注册转换器 为了让不匹配的username无法匹配成应用的url
from utils.converters import UsernameConverter
from django.urls import register_converter
register_converter(UsernameConverter, 'username')
应用路由urls.py
urlpatterns = [
path(r'usernames/<username:username>/count/', UsernameCountView.as_view())
]
标签:username,usernames,自定义,URL,Django,urls,import,转换器 From: https://www.cnblogs.com/20190707wdd/p/16811509.html