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
Hashes for django-book-manager-0.3.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | c10c1bdfd0fdc93b60b78f09b7dfe0baf2661e85689bb3ab3b45e8daf2e70986 |
|
MD5 | e72418a69b6f5a16a4bbdec261e80167 |
|
BLAKE2b-256 | 25fbba51421104e01005fef3147b9636788acc9faa3c73c97a9f3734a0ed0c3f |
Hashes for django_book_manager-0.3.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f21faa6131c9df72a68e71b6d5a8319f7bb8b575584f90833be81f026a0893d1 |
|
MD5 | a5dd24b6c031300fa6fb70ea40cc62d3 |
|
BLAKE2b-256 | e1086a4fa038ad2a59d68d58a8d3795a4069dc9cc34c04b8754689d1c667f08f |