Python 在Django中验证POST参数中的url
我试图验证发送的POST请求中的参数是否为有效URL 这是我的观点Python 在Django中验证POST参数中的url,python,django,Python,Django,我试图验证发送的POST请求中的参数是否为有效URL 这是我的观点 views.py def post(self, request): if url_validator(request) == 400: return Jsonresponse(status=400) 这是我的utils.py。此文件将包含所有常规方法和类 def url_validator(request, ext): for key, value in request.data.it
views.py
def post(self, request):
if url_validator(request) == 400:
return Jsonresponse(status=400)
这是我的utils.py。此文件将包含所有常规方法和类
def url_validator(request, ext):
for key, value in request.data.items():
value = request.data[key]
try:
URLValidator(value)
except ValidationError:
return 400
当我从视图调用函数url\u validator
时,它会执行,但当任何一个请求参数不包含url时,它不会返回异常。
例如,如果我传递一个参数param1:“some string”
,它不会通过ValidationError路径。
如何从函数中获取正确的返回?验证程序类在实例化时不接受要验证的输入,而是在调用实例化对象时接受输入:
validator = URLValidator()
validator(value)
但这并不是在Django中进行验证的方法。使用表单,或者如果您正在处理提交的JSON,请使用django rest framework序列化程序。您使用的是django rest framework吗?那么,序列化程序就是一条出路。