Python 我应该把一种被认为是最佳实践的验证方法放在哪里?

Python 我应该把一种被认为是最佳实践的验证方法放在哪里?,python,django,django-rest-framework,Python,Django,Django Rest Framework,因此,我有一个验证方法来检查在我的API(Django上的REST框架)中使用的邮政编码是否正确。我目前已经在views.py(我的应用程序的)中把它放在了我所有的类/一次性视图(API的端点)之上,但我觉得这不是正确的OOP方式吗 以下是我的验证方法: def zipValidate(s): s = s.replace(' ', '') if len(s) == 5 and s[0:5].isdigit(): return s else:

因此,我有一个验证方法来检查在我的API(Django上的REST框架)中使用的邮政编码是否正确。我目前已经在views.py(我的应用程序的)中把它放在了我所有的类/一次性视图(API的端点)之上,但我觉得这不是正确的OOP方式吗

以下是我的验证方法:

def zipValidate(s):
    s = s.replace(' ', '')

    if len(s) == 5 and s[0:5].isdigit():
        return s
    else:
        return False
以后在我的视图中使用:

# Custom API View for Zip Code check
@api_view(['GET'])
def zip_code(request, zc):
    # Check zip code for errors
    zc_clean = zipValidate(zc)

    if zc_clean == False:
        return Response({'error': 'Zip code given is invalid.'})

可以将其保留在views.py中吗?或者我应该创建另一个.py(可能是validators.py)并将其导入到视图中?正确的方法是什么?

Django将其内置的验证器保留在模块中

如果遵循此操作,您可以在应用程序中创建一个
validators.py

然后,您将
导入验证器
并使用
验证器。zipValidate
或来自验证器的
导入zipValidate
并按原样使用
zipValidate


我希望这会有所帮助。

如果您使用的是forms.py,那么在表单类本身中添加所有服务器端验证。我不使用任何表单。这是一个jSON API调用,将获得一个jSON请求。没有表单,没有网站,只有jSON来回调用。这要看情况而定。你打算在其他地方使用这个代码吗?如果没有,那就留下吧。如果是,则将其移动到单独的文件中。:)