Skip to main content

Campo CPF Field para usar no Model e ModelForm

Project description

CPF Field para usar nos seus Models e ModelForms

Essa é uma implementação simples e enxuta de validadores para CPF de usuários.

Caso alguma coisa deixe de funcionar nas próximas versões do Django, não me comprometo em manter a biblioteca.

Instalação

pip install django-cpf

Adicione a aplicação cpf_field entre a suas apps e as apps do django.

INSTALLED_APPS = [
    # Django apps
    'cpf_field',
    # My Apps
]

Como utilizar:

No seu arquivo de models.py, importe o CPFField e insira no seu atributo de classe.

from django.db import models
from cpf_field.models import CPFField

class MyModel(models.Model):
    # ....
    cpf = CPFField('cpf')

O CPFField é derivado de models.CharField e vem inicializado, por padrão, com o max_length=14.

CPFs inválidos

CPFs que são considerados inválidos para o CPFField são aqueles que:

  1. Não possuem 11 números.
  2. O cálculo dos digitos verificadores não bate com os digitos informados.

Exemplos de CPFs inválidos

from .forms import ClientForm

form = ClientForm()
form.cpf = '12312312312' # inválido
form.cpf = '123.123.123-12' # inválido
form.cpf = 'ABC12312312' # inválido
form.cpf = 'ABC.123.123-12' # inválido

CPF válidos

Os CPFs válidos são aqueles que:

  1. Possuem 11 números.
  2. O cálculo dos digitos verificadores bate com os digitos informados.

Observações

O CPFField valida o CPF com ou sem máscara.

Então, os CPFs nos formatos XXXXXXXXXXX e XXX.XXX.XXX-XX são válidos.

Se você precisa que seu CPF seja salvo num formato específico (sem máscara, por exemplo) você tem que implementar o método clean_cpf no seu ModelForm, para formatar o valor enviado pelo usuário.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-cpf-0.1.0.tar.gz (4.0 kB view details)

Uploaded Source

Built Distribution

django_cpf-0.1.0-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file django-cpf-0.1.0.tar.gz.

File metadata

  • Download URL: django-cpf-0.1.0.tar.gz
  • Upload date:
  • Size: 4.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.2

File hashes

Hashes for django-cpf-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3c4519ddd2784ba4d1ec3ce14d16e9e12d36d9178fee2fa8c4b4be2fb4ed0f50
MD5 e59aa2f54c5cb7d874681d7b1e068697
BLAKE2b-256 61253b33ac6e8b344a80c03ca2ca037ceb1d08bdab91ba05028ee04d5f310eef

See more details on using hashes here.

File details

Details for the file django_cpf-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: django_cpf-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.2

File hashes

Hashes for django_cpf-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3b973632d4a2d3f8d0d028ddb0e312e42c6de9827556904e922a2ac68af493ac
MD5 64f067df0a3ecbb4c2eada7964157c51
BLAKE2b-256 63c5fc6b668cd9be357e878c794cb3134a1ec1f52715509a3deef1598da5a7fe

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page