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.
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/bitlabstudio/django-document-library.git#egg=document_library
Add document_library to your INSTALLED_APPS:
INSTALLED_APPS = (
...,
'document_library',
)
Run the migrations:
./manage.py migrate document_library
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]
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 %}
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>
Default: False
Set this to True if you wand to require login for the views of this app.
Default: 1
Amount of documents display on one page.
Default: False
Enables a special ordering of the document list to always show an equal amount of documents for each category.
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,
}, }),
)
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
make develop
git co -b feature_branch master
# Implement your feature and tests
git add . && git commit
git push -u origin feature_branch
# Send us a pull request for your feature branchIn order to run the tests, simply execute tox. This will install two new
environments (for Django 1.8 and Django 1.9) and run the tests against both
environments.