Skip to main content

Reusable Django app for managing lists of books with ratings.

Project description

django-book-manager

Documentation: https://django-book-manager.readthedocs.org

This reusable Django application provides models suitable for managing a list of books with ratings, somewhat like a private Goodreads.

Its real purpose is to provide sample models, with sample data, for use in testing other Django libraries. Often, when authoring new Django libraries, we need a simple example application to use so that we can test out our code.

Getting It

You can get django-book-manager by using pip:

pip install django-book-manager

If you want to install it from source, grab the git repository from GitHub and run setup.py:

git clone git://github.com/caltechads/django-book-manager.git
cd django-book-manager
python setup.py install

Installing It

To enable book_manager in your project you need to add it to INSTALLED_APPS in your project's settings.py file:

INSTALLED_APPS = (
    ...
    'book_manager',
    ...
)

Then, apply the migrations to add the schema to your database:

./manage.py migrate

Using It

django-book-manager provides these models:

  • book_manager.Book: a book with title, slug, publishing dates, number of pages, authors, etc.

  • book_manager.Author: an author. book_manager.Book has a many to many relationship with this

  • book_manager.BookAuthor: this is a many to many through table between book_manager.Book and book_manager.Author that exists to record billing order of authors on a book (first author, second author, etc.)

  • book_manager.Publisher: a publisher. book_manager.Book has a foreign key relationship with this

  • book_manager.Binding: a binding (hardcover, softcover, ebook, ...). book_manager.Book has a foreign key relationship with this

  • book_manager.Reading: a reading record of a book by a reader. This is a many to many through table between book_manager.Book and the AUTH_USER_MODEL that records a rating, review, notes, date read, etc. for a particular user.

  • book_manager.Shelf: a collection of book_manager.Reading objects, used by readers to classify books

django-book-manager also supplies a command that can be used to load a Goodreads user library export into Django, splitting it into all the above models as appropriate.

To generate an export from Goodreads, go to your Goodreads account and:

  • Click "My Books"
  • At the bottom of that page, click "Import and Export"
  • At the top of that page, click "Export Library"

To load the CSV thus generated into Django, first create a user for yourself in Django, then:

./manage.py import_csv <csvfile> <username>

A sample Goodreads export is available in this repository as sandbox/data/books.csv.

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-book-manager-0.3.2.tar.gz (15.6 kB view details)

Uploaded Source

Built Distribution

django_book_manager-0.3.2-py2.py3-none-any.whl (17.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file django-book-manager-0.3.2.tar.gz.

File metadata

  • Download URL: django-book-manager-0.3.2.tar.gz
  • Upload date:
  • Size: 15.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for django-book-manager-0.3.2.tar.gz
Algorithm Hash digest
SHA256 c10c1bdfd0fdc93b60b78f09b7dfe0baf2661e85689bb3ab3b45e8daf2e70986
MD5 e72418a69b6f5a16a4bbdec261e80167
BLAKE2b-256 25fbba51421104e01005fef3147b9636788acc9faa3c73c97a9f3734a0ed0c3f

See more details on using hashes here.

File details

Details for the file django_book_manager-0.3.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for django_book_manager-0.3.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f21faa6131c9df72a68e71b6d5a8319f7bb8b575584f90833be81f026a0893d1
MD5 a5dd24b6c031300fa6fb70ea40cc62d3
BLAKE2b-256 e1086a4fa038ad2a59d68d58a8d3795a4069dc9cc34c04b8754689d1c667f08f

See more details on using hashes here.

Supported by

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