2013-08-06 5 views
0

У меня есть метод проверки, чтобы проверить правильный почтовый индекс для использования в моем API (REST Framework на Django). В настоящее время я размещаю это выше всех моих классов/одно просмотренных представлений (конечных точек для моего API) в views.py (моего приложения), но я чувствую, что это не правильный способ ООП для этого?Где я должен поместить метод проверки, который считается лучшей практикой?

Вот мой метод проверки:

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

Если вы используете forms.py, то добавьте все проверки на стороне сервера внутри вашего класса формы. – sandeep

+0

Я не пользуюсь никакими формами. Это вызов API jSON, который получит запрос jSON. Никаких форм, нет веб-сайта, только jSON обращается назад и вперед. – virtuexru

+0

Всё зависит от: Вы собираетесь использовать этот код в другом месте? Если нет, то оставьте его. Если да, переместите его в отдельный файл. :) – freakish

ответ

1

Django хранит встроенные валидаторы в модуле django.core.validators.

Если вы следите за этим, вы можете создать validators.py в своем приложении.

Вы должны были бы import validators и использовать validators.zipValidate(s) или from validators import zipValidate и использовать zipValidate(s) как есть.

Я надеюсь, что это поможет.

Смежные вопросы