Valida e preenche automaticamente endereço baseado em um numero de CEP.
- Django 2.0+ para python 3.5+
- Requests 2.20+
- 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) não irá falhar ao tentar conectar-se aos correios
# CepField(timeout=3) O padrão é 10s.
# Você pode usar ambas ao mesmo tempo
# Em 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