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 betweenbook_manager.Book
andbook_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 betweenbook_manager.Book
and theAUTH_USER_MODEL
that records a rating, review, notes, date read, etc. for a particular user. -
book_manager.Shelf
: a collection ofbook_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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | c10c1bdfd0fdc93b60b78f09b7dfe0baf2661e85689bb3ab3b45e8daf2e70986 |
|
MD5 | e72418a69b6f5a16a4bbdec261e80167 |
|
BLAKE2b-256 | 25fbba51421104e01005fef3147b9636788acc9faa3c73c97a9f3734a0ed0c3f |
File details
Details for the file django_book_manager-0.3.2-py2.py3-none-any.whl
.
File metadata
- Download URL: django_book_manager-0.3.2-py2.py3-none-any.whl
- Upload date:
- Size: 17.6 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f21faa6131c9df72a68e71b6d5a8319f7bb8b575584f90833be81f026a0893d1 |
|
MD5 | a5dd24b6c031300fa6fb70ea40cc62d3 |
|
BLAKE2b-256 | e1086a4fa038ad2a59d68d58a8d3795a4069dc9cc34c04b8754689d1c667f08f |