Django-Session-вкладення в додаток Django, який прагне працювати з вкладеннями в Django.
В основному працює з додатками так само, як працювати зі звичайними додавання, протягом декількох відмінностей, за винятком:
- Вкладення "належать" до клієнтів вони завантажили. Іншими словами, додатки повинні бути приватними і недоступними для громадськості.
- Вкладення організовані так, щоб "Зв'язки". Це має сенс, якщо ваш клієнт вирішує працювати з різними наборами кріплення в різних частинах вашого додатки (наприклад, він / вона пише кілька листів або запитів Simultaniously і, очевидно, не хочуть ділитися його / її вкладення між одержувачами.)
- Вкладення носять тимчасовий характер. Там повинно бути простих методів для видалення вкладень вручну або за допомогою видиху.
- Вкладення повинні бути придатний для використання навіть для неавторизованих користувачам. Це пов'язано з нашою специфікою. Це також головна причина, чому ми створили цей додаток.
- Це неможливо зберігати два вкладення з тим же ім'ям в тій же зв'язці. Новий додаток переписати попередню. Схоже, розсудлива обмеження цього додатка UseCase.
Встановлення та налаштування
Встановити додаток з PyPI або GitHub:
І NBSP; пункт встановити Django-Session-приналежності # або
І NBSP; пункт встановити Git: //github.com/NetAngels/django-session-attachments.git#egg=django-session-attachments
Додати новий додаток в файл настройок:
INSTALLED_APPS = [
І NBSP; 'django.contrib.staticfiles ",
І NBSP; ...
І NBSP; 'session_attachments',
І NBSP; ...
]
Включити новий рядок у файл прив'язок (urls.py):
urlpatterns = візерунки ('',
І NBSP; ...
І NBSP; гіперпосилання (г '^ Оснащення /', включають в себе ("session_attachments.urls ')),
І NBSP; ...
)
Існує окремий Django модель зберігати вкладення, так що ви повинні ввести:
./manage.py SyncDB session_attachments
Як використовувати
За умови, що ваш додаток є на локальному хості: 8000, ви отримаєте наступне кількість адрес для роботи з від вашого інтерфейсу. Ймовірно, було б простіше працювати з серверної асинхронно, використовуючи JQuery форми розширення або щось подібне.
Зразки нижче використовувати ротор для простоти. Тому що вкладення пов'язані з сесії, важливо, щоб тримати сесійні куки між локон викликів. Ми робимо це шляхом передачі --cookie session.txt --cookie-банку session.txt варіантів в'ються.
Будь ласка, зверніть увагу, що приклади локон не працюють, якщо проміжного CSRF не відключить в налаштуваннях.
Завантаження файлів на розшаруванні
Щоб завантажити файли розміщувати дані / вкладень // URL. Форма повинна містити принаймні одне поле файлу. Назва полів файлу може бути довільним, оскільки вони ігноруються програми:
$ Ехо спам> spam.txt
$ Ехо яйце> egg.txt
$ Згорнутися --cookie session.txt --cookie-банку session.txt -F attach1=@spam.txt -F attach2=@egg.txt -X POST HTTP: // локальний: 8000 / Оснащення / Foo /
[{"Ім'я": "egg.txt", ...}, {"ім'я": "spam.txt", ...}]
Отримати список вкладень в комплекті
$ Локон --cookie session.txt --cookie-банку session.txt -X GET HTTP: // локальний: 8000 / Оснащення / Foo /
$ [{"MimeType": "текст / рівнина", "розмір": 4, "ім'я": "egg.txt", "створив": "2011-12-29 4:12"}, {"MimeType": "Текст / рівнина", "розмір": 5, "ім'я": "spam.txt", "створив": "2011-12-29 4:12"}]
Список пророкує у форматі JSON повертається.
Завантажити файл з пакету
$ Згорнутися --cookie session.txt --cookie-банку session.txt -X GET HTTP: // локальний: 8000 / Оснащення / Foo / spam.txt /
спам
Видалити вкладення з комплекту
$ Згорнутися --cookie session.txt --cookie-банку session.txt -X POST HTTP: // локальний: 8000 / Оснащення / Foo / spam.txt / видалити /
[Вірно]
Очистіть цілу пачку
$ Локон --cookie session.txt --cookie-банку session.txt -X POST HTTP: // локальний: 8000 / Оснащення / Foo / видалити /
[[Правда]]
Команда управління для очищення застарілих вкладень
Існує команда управління, яка прибирає «застарілих» вкладення з пакета. Щоб налаштувати поріг для видалення можна передати кількість днів:
./manage.py remove_outdated_attachments --older ніж = 3
Вимоги
- Python
- Django
Коментар не знайдено