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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|