Django-session-příslušenství je aplikace, Django, který si klade za cíl pracovat s přílohami v Django.
V podstatě práce s přílohami je stejná jako práce s běžnými obrázky, kromě několika rozdíly:
- Přílohy "patří" klientům, které nahráli. Jinými slovy, přílohy musí být soukromé a nepřístupné veřejnosti.
- Přílohy jsou organizovány tak, aby "balíčků". Dává to smysl, pokud váš klient rozhodne pracovat s různými sadami připojovací v různých částech aplikace (například, on / ona píše několik e-mailů nebo žádosti simultaniously a samozřejmě nechce sdílet jeho / její přílohy, mezi příjemci.)
- Přílohy jsou dočasné. Tam musí být snadno metody pro odstranění přílohy ručně nebo výdechu.
- Přílohy musí být použitelný i pro neověřených uživatelů. Je to dáno naše specifika. To je také hlavní důvod, proč jsme vytvořili tuto aplikaci.
- Je možné uložit dva příloh se stejným názvem ve stejném svazku. Nová příloha přepsat předchozí. Vypadá to, že zdravý omezení dané aplikace usecase.
Instalace a konfigurace
Instalace aplikace z PyPI nebo GitHub:
& Nbsp; pip nainstalovat Django-session-doplňky, které # nebo
& Nbsp; pip instalovat git: //github.com/NetAngels/django-session-attachments.git#egg=django-session-attachments
Přidat novou aplikaci do svého konfiguračního souboru:
INSTALLED_APPS = [
& Nbsp; "django.contrib.staticfiles"
& Nbsp; ...
& Nbsp; "session_attachments"
& Nbsp; ...
]
Zahrnout nový řádek do svého urlconf (urls.py):
urlpatterns = vzory ('',
& Nbsp; ...
& Nbsp; url (r '^ příslušenství / ", patří (" session_attachments.urls ")),
& Nbsp; ...
)
K dispozici je samostatný Django model zachránit příloh, takže byste měli zadat:
./manage.py SyncDB session_attachments
Jak se používá
Za předpokladu, že vaše aplikace je k dispozici na adrese localhost: 8000, dostanete následující počet adres URL pro práci s z frontendu. Bylo by asi bylo jednodušší pracovat s backend asynchronně pomocí JQuery formulářů rozšíření, nebo něco podobného.
Pouze vzorky pomocí zvlnění pro jednoduchost. Vzhledem k tomu, přílohy jsou spojeny s relací, je důležité, aby cookies relace mezi zvlnění vyvolání. Děláme to tím, že projde --cookie session.txt --cookie-jar session.txt možností kroutit.
Vezměte prosím na vědomí, že příklady lokny nebudou fungovat, pokud CSRF middleware je vypnout v nastavení.
Upload souborů na svazku
Chcete-li nahrát soubory odesílání dat na / příloh // URL. Formulář musí obsahovat alespoň jedno pole souboru. Jméno polí souboru může být libovolný, jak jsou ignorovány aplikace:
$ Echo spamu> spam.txt
$ Echo vejce> egg.txt
$ Curl --cookie session.txt --cookie-jar session.txt -F attach1=@spam.txt -F attach2=@egg.txt -X POST http: // localhost: 8000 / přílohy / foo /
[{"Name": "egg.txt", ...}, {"name": "spam.txt", ...}]
Získat seznam příloh ve svazku
$ Curl --cookie session.txt --cookie-jar session.txt -X GET http: // localhost: 8000 / přílohy / foo /
$ [{"Mimetype": "text / plain", "velikost": 4, "name": "egg.txt", "vytvořila": "2011-12-29 04:12"}, {"mimetype": "text / plain", "velikost": 5, "name": "spam.txt", "vytvořila": "2011-12-29 04:12"}]
Se vrací seznam dicts ve formátu JSON.
Stáhněte soubor ze svazku
$ Curl --cookie session.txt --cookie-jar session.txt -X GET http: // localhost: 8000 / přílohy / foo / spam.txt /
spam
Odstranit přílohu ze svazku
$ Curl --cookie session.txt --cookie-jar session.txt X POST http: // localhost: 8000 / přílohy / foo / spam.txt / smazat /
[True]
Vyčistit celý balík
$ Curl --cookie session.txt --cookie-jar session.txt -X POST http: // localhost: 8000 / přílohy / foo / smazat /
[[True]]
Příkaz Řízení na vyčištění zastaralým příloh
K dispozici je příkaz správy, který odstraní "zastaralé" příloh ze svazku. Chcete-li nastavit prahové hodnoty pro odstranění můžete předat počet dní:
./manage.py remove_outdated_attachments --older než = 3
Požadavky na :
- Python
- Django
Komentáře nebyl nalezen