Skip to main content

Django app to manage multilingual documents based on django-filer.

Project description

A Django application to manage multilingual documents and display them on your site in a downloads section.

Comes with a django-cms apphook and is based on django-filer.

Installation

If you want to install the latest stable release from PyPi:

$ pip install django-document-library

If you feel adventurous and want to install the latest commit from GitHub:

$ pip install -e git://github.com/bitmazk/django-document-library.git#egg=document_library

Add document_library to your INSTALLED_APPS:

INSTALLED_APPS = (
    ...,
    'document_library',
)

Run the South migrations:

./manage.py migrate document_library

Admin inline

You can attach documents to any model. To make things easier, you can add a tabular inline to your model’s admin which allows to attach documents.

In your project’s models.py or any file that get’s loaded early, do the following:

from yourapp.admin import YourAdmin
from object_attachments.admin import ObjectAttachmentInline

YourAdmin.inlines = YourAdmin.inlines[:] + [ObjectAttachmentInline]

Templatetags

get_files_for_documents

Use this templatetag in order to render all files for a given document:

{% load document_library_tags %}
{% get_files_for_document document as files %}
{% for file in files %}
    <p><a href="{{ file.url }}">{{ file.name|default:file.original_filename }}</a></p>
{% endfor %}

get_frontpage_documents

Use this templatetag if you want to render a list of documents on your frontpage:

{% load document_library_tags %}
{% get_frontpage_documents as documents %}
<ul>
    {% for document in documents %}
        <li><a href="/url/to/library/">{{ document.get_title }}</a></li>
    {% endfor %}
</ul>

Settings

DOCUMENT_LIBRARY_LOGIN_REQUIRED

Default: False

Set this to True if you wand to require login for the views of this app.

DOCUMENT_LIBRARY_PAGINATION_AMOUNT

Default: 1

Amount of documents display on one page.

Sitemaps

To add a sitemap of your documents, add the following to your urlconf:

from document_library.sitemaps import DocumentSitemap

urlpatterns += patterns(
    '',
    url(r'^sitemap.xml$', 'django.contrib.sitemaps.views.sitemap', {
        'sitemaps': {
            'documents': DocumentSitemap,
        }, }),
)

Contribute

If you want to contribute to this project, please perform the following steps:

# Fork this repository
# Clone your fork
$ mkvirtualenv -p python2.7 django-document-library
$ pip install -r requirements.txt
$ ./logger/tests/runtests.sh
# You should get no failing tests

$ git co -b feature_branch master
# Implement your feature and tests
# Describe your change in the CHANGELOG.txt
$ git add . && git commit
$ git push origin feature_branch
# Send us a pull request for your feature branch

Whenever you run the tests a coverage output will be generated in tests/coverage/index.html. When adding new features, please make sure that you keep the coverage at 100%.

Roadmap

Check the issue tracker on github for milestones and features to come.

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-document-library-1.4.tar.gz (24.8 kB view details)

Uploaded Source

File details

Details for the file django-document-library-1.4.tar.gz.

File metadata

File hashes

Hashes for django-document-library-1.4.tar.gz
Algorithm Hash digest
SHA256 6305f859bbf201b7eddb313fc38184a2732dc3b2aaeb28313edec24d45bf7bbd
MD5 54ff6f8e962798fa9e0d58307d0c4bbc
BLAKE2b-256 cc6a1f5aeee4eb716c08858cd3720c15699317ff3f35d082c8e3bfbcd37cb36e

See more details on using hashes here.

Supported by

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