Python 在Django中验证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

我试图验证发送的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.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吗?那么,序列化程序就是一条出路。