Python 我应该把一种被认为是最佳实践的验证方法放在哪里?
因此,我有一个验证方法来检查在我的API(Django上的REST框架)中使用的邮政编码是否正确。我目前已经在views.py(我的应用程序的)中把它放在了我所有的类/一次性视图(API的端点)之上,但我觉得这不是正确的OOP方式吗 以下是我的验证方法: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:
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来回调用。这要看情况而定。你打算在其他地方使用这个代码吗?如果没有,那就留下吧。如果是,则将其移动到单独的文件中。:)