Reusable Django app for managing lists of books with ratings.
Project description
django-book-manager
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.2.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff8f414bd4c6aeeda3aa623cf26a4d8b1eca9ae14a05d670b0b2ac71f0b87f1a |
|
MD5 | 6b3803f38fc3cbad76426f7aeb63071d |
|
BLAKE2b-256 | 72434c3c7fbedd68d425377481206c87d204060d8e42cee58f53975d7774488f |
Hashes for django_book_manager-0.2.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f69a78035a543a0c6479691d7cb6d42cd7f156735218d9cd86672d7e08bec27 |
|
MD5 | eec4ded9391746baf3a6314f5789e993 |
|
BLAKE2b-256 | 549d8aff61acf061cf898a4dfbbcc37230ee9e0fdddc18db509062f242b45af6 |