我应该在哪里提出一种被认为是最佳做法的验证方法?

时间:2013-08-06 14:04:42

标签: python django django-rest-framework

所以我有一个验证方法来检查在我的API(Django上的REST Framework)中使用的正确邮政编码。我目前在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)并将其导入视图中?这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

Django在django.core.validators模块中保留其内置验证器。

如果您按照此操作,则可以在应用中创建validators.py

然后您import validators并使用validators.zipValidate(s)from validators import zipValidate并使用zipValidate(s)

我希望有所帮助。