http://pypi.python.org/pypi/django-attachments/0.2.4
Всем привет! Сегодня хочу написать про django-attachments. Почему? – потому что это великолепный пример pluggable приложения на джанго.
Функция данной апликации – добавление файлов к объекту (и ничего больше). Но сделано толково.
Примеры со страницы продукта http://pypi.python.org/pypi/django-attachments/0.2.4 – тому доказательство.
1. Подключаем к своему проекту
- Put attachments to your INSTALLED_APPS in your settings.py within your django project.
- Add (r'^attachments/', include('attachments.urls')), to your urls.py.
2. Используем в админке
from django.contrib import admin
from attachments.admin import AttachmentInlines
class MyEntryOptions(admin.ModelAdmin)
inlines = [AttachmentInlines]
3. Встраиваем в фронт-енд сайта:
{% load attachments_tags %}
{% get_attachments_for entry as "attachments_list" %}
– получаем список приложенных файлов для объекта entry
{% attachment_form [object] %}
- рендерим форму добавления файла к объекту из фронт-енда (если пользователь не авторизован – возвращает пустую строку)
{% for att in attachment_list %}
{{ att }} {% attachment_delete_link att %}
{% endfor %}
– темплейт-тэг {% attachment_delete_link att %} – рендерит ссылку на удаление приложенного файла.
Как видите, Martin Mahner позаботился о том, чтоб его приложение полностью вписалось в любой проект без каких либо швов. Мне нравится его подход, он умудрился сделать функциональность действительно простой. По сути, это и есть django-кайф к которому все так стремятся.
1 комментарий:
Да, отличный апп. Не хватает правда russian locale.
На эту тему есть еще одно интересное творение: https://github.com/redsolution/django-tinymce-attachment.
Отправить комментарий