Valida e preenche automaticamente endereço baseado em um numero de CEP.
- Django 1.7+
- Requests 2.9+
- Instale com o pip:
pip install django-cepfield
- Adicione a App
cep
ao seuINSTALLED_APPS
localizado em seu settings. - Crie as tabelas necessárias:
./manage migrate
Crie seu form normalmente:
# seu arquivo de forms
from cep.forms import CepField
class MeuForm(forms.Form):
cep = CepField()
# CepFIeld(force_correios_validation=False) will not raises a validation error if requests can't reach Correios.
# CepFIeld(timeout=3) requests will wait only 3 seconds before fails, default is 10.
# you can combine both
# sua view
form = MeuForm(request.GET)
if form.is_valid(): # Isso irá salvar o cep se o mesmo for válido
cep = form.cleaned_data.get('cep')
return cep.bairro
Você também pode acessar diretamente os models:
from cep.models import Cep
cep = Cep.objects.get(codigo='70150903')
print cep.bairro