All Projects → secnot → django-isbn-field

secnot / django-isbn-field

Licence: LGPL-3.0 license
Django model field to store and validate ISBN numbers.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to django-isbn-field

nova-opening-hours-field
Laravel Nova custom field for https://github.com/spatie/opening-hours
Stars: ✭ 33 (+57.14%)
Mutual labels:  field
Materialtextfield
A different beautiful Floating Edit Text
Stars: ✭ 1,504 (+7061.9%)
Mutual labels:  field
checkdigit
🔒 An easy-to-use check digit library for data validation
Stars: ✭ 19 (-9.52%)
Mutual labels:  isbn
Polygonization-by-Frame-Field-Learning
This repository contains the code for our fast polygonal building extraction from overhead images pipeline.
Stars: ✭ 161 (+666.67%)
Mutual labels:  field
plenopticam
Light-field imaging application for plenoptic cameras
Stars: ✭ 111 (+428.57%)
Mutual labels:  field
isbnlib
python library to validate, clean, transform and get metadata of ISBN strings (for devs).
Stars: ✭ 177 (+742.86%)
Mutual labels:  isbn
objection-authorize
isomorphic, "magical" authorization integration with Objection.js 🎉
Stars: ✭ 71 (+238.1%)
Mutual labels:  field
nova-froala-field
A Laravel Nova Froala WYSIWYG Editor Field.
Stars: ✭ 110 (+423.81%)
Mutual labels:  field
craft-recipe
A comprehensive recipe FieldType for Craft CMS that includes metric/imperial conversion, portion calculation, and JSON-LD microdata support
Stars: ✭ 23 (+9.52%)
Mutual labels:  field
dart barcode
Barcode generation library
Stars: ✭ 79 (+276.19%)
Mutual labels:  isbn
administrate-field-jsonb
A plugin to show and edit JSON objects within Administrate.
Stars: ✭ 38 (+80.95%)
Mutual labels:  field
TagField
🏷 Simple Tag Field for SwiftUI 🏷
Stars: ✭ 19 (-9.52%)
Mutual labels:  field
isbn-rs
Rust library for handling ISBNs.
Stars: ✭ 19 (-9.52%)
Mutual labels:  isbn
craft-grid
A field that lets you content manage CSS Grid in Craft CMS.
Stars: ✭ 18 (-14.29%)
Mutual labels:  field
pyisbn
A Python module for working with 10- and 13-digit ISBNs
Stars: ✭ 37 (+76.19%)
Mutual labels:  isbn
react-streamfield
Powerful field for inserting multiple blocks with nesting. (NO LONGER MAINTAINED - See Wagtail 2.13 Release Notes)
Stars: ✭ 34 (+61.9%)
Mutual labels:  field
openbookstore
Bibliographic search of books and personal manager https://gitlab.com/myopenbookstore/openbookstore
Stars: ✭ 24 (+14.29%)
Mutual labels:  isbn
libbib
An R package providing WorldCat API communication, functions for validating and normalizing bibliographic codes, translation from call numbers to subject, and other related utilities helpful for assessment librarians
Stars: ✭ 21 (+0%)
Mutual labels:  isbn
react-plough
A library to help tend your react form fields
Stars: ✭ 31 (+47.62%)
Mutual labels:  field
Nager.ArticleNumber
C# Validate Article Numbers ASIN, EAN8, EAN13, GTIN, ISBN, ISBN13, SKU, UPC
Stars: ✭ 25 (+19.05%)
Mutual labels:  isbn

django-isbn-field Build Status

Provides django model field to store and validate ISBN numbers.

Requirements

It has been tested on

  • Python >= 3.6
  • Django 2.2, 3.3, 4.0

Installation

From Pypi

$ pip install django-isbn-field

or from the repository

$ git clone https://github.com/secnot/django-isbn-field
$ python setup.py install

Usage

Add isbn_field to INSTALLED_APPS

# settings.py
INSTALLED_APPS = (
	...
	'isbn_field',
)

Use the field in your model

from django.db import models
from isbn_field import ISBNField

class Book(models.Model):
	isbn = ISBNField()
	...

It will raise a ValidationError when the number provided is invalid.

Further, by default any entered ISBN will be cleaned (dashes and spaces are removed) and stored in this canonical form. You can disable this and store the original form through the clean_isbn flag.

from django.db import models
from isbn_field import ISBNField

class Book(models.Model):
	dirty_isbn = ISBNField(clean_isbn=False)
	...

In case you expect very chaotic input (e.g. more than one space or dash between digits), you might also want to increase the max_length of the field to allow for enough room for the string in the database.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].