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:
- Não possuem 11 números.
- 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:
- Possuem 11 números.
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 |
3c4519ddd2784ba4d1ec3ce14d16e9e12d36d9178fee2fa8c4b4be2fb4ed0f50
|
|
MD5 |
e59aa2f54c5cb7d874681d7b1e068697
|
|
BLAKE2b-256 |
61253b33ac6e8b344a80c03ca2ca037ceb1d08bdab91ba05028ee04d5f310eef
|
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
Algorithm | Hash digest | |
---|---|---|
SHA256 |
3b973632d4a2d3f8d0d028ddb0e312e42c6de9827556904e922a2ac68af493ac
|
|
MD5 |
64f067df0a3ecbb4c2eada7964157c51
|
|
BLAKE2b-256 |
63c5fc6b668cd9be357e878c794cb3134a1ec1f52715509a3deef1598da5a7fe
|