A Django-session-mellékletek egy Django app, amelynek célja, hogy működjön együtt csatolmányokat Django.
Alapvetően dolgozik mellékleteket megegyezik dolgozó rendes feltöltések, kivéve néhány különbséget:
- A tartozékok "tartoznak" az ügyfelek az általuk feltöltött. Más szóval, mellékleteket kell lennie a magán- és megközelíthetetlen nyilvános.
- A tartozékok szerveznek, hogy "csomagok". Annak van értelme, ha az ügyfél úgy dönt, hogy működjenek együtt a különböző mellékletet készletek különböző részein az alkalmazás (például, aki / ő írja több e-mailt, illetve simultaniously és nyilván nem akarja megosztani a / saját mellékletek között címzettnek.)
- A tartozékok ideiglenesek. Kell, hogy legyen egyszerű módszerekkel eltávolíthatjuk kézzel vagy lejárati.
- A tartozékok felhasználhatónak kell lennie még a hitelesített felhasználók. Ez annak köszönhető, hogy részleteket. Ez is a fő oka annak, hogy létrehozta ezt a app.
- Lehetetlen, hogy tárolja amelyhez két azonos nevű ugyanabban a csomagban. Új mellékletet felülírja előző. Úgy néz ki, mint normális korlátozást adott alkalmazás usecase.
Telepítés és konfiguráció
Alkalmazás telepítése a PyPI vagy GitHub:
& Nbsp; pip telepíteni Django-session-mellékletek # vagy
& Nbsp; pip telepíteni git: //github.com/NetAngels/django-session-attachments.git#egg=django-session-attachments
Adjon hozzá egy új alkalmazás a beállítás fájlt:
INSTALLED_APPS = [
& Nbsp; "django.contrib.staticfiles",
& Nbsp; ...
& Nbsp; "session_attachments",
& Nbsp; ...
]
Többek között egy új sort a urlconf (urls.py):
urlpatterns = minták ('',
& Nbsp; ...
& Nbsp; url (r '^ tartozékokat / "include (' session_attachments.urls")),
& Nbsp; ...
)
Van egy külön Django modell menthetjük, így kell megadni:
./manage.py syncdb session_attachments
Hogyan használható
Feltéve, hogy a app érhető el localhost: 8000, kapsz következő URL-ek számát dolgozni az Ön frontend. Ez valószínűleg könnyebb dolgozni a backend aszinkron, jQuery formák kiterjesztése, vagy valami hasonló.
Minták alább használja curl az egyszerűség kedvéért. Mivel mellékletek holtversenyben ülésen, fontos, hogy tartsa session cookie-k közötti curl eltöröljük. Csináljuk átadásával --cookie session.txt --cookie-jar session.txt lehetőségek göndör.
Felhívjuk figyelmét, hogy curl példák nem működik, ha a CSRF middleware le van tiltva a beállításokat.
Feltölteni a fájlokat a kötegben
Lehet feltölteni a fájlokat a POST adatokat / csatolmányokat // URL. Formájában tartalmaznia kell legalább egy fájlt a területen. A fájl neve területeken lehet önkényes, mivel nem veszi figyelembe a app:
$ Echo spam> spam.txt
$ Echo tojás> egg.txt
$ Göndör --cookie session.txt --cookie-jar session.txt -F attach1=@spam.txt -F attach2=@egg.txt X POST http: // localhost: 8000 / kiegészítőket / foo /
[{"Name": "egg.txt", ...}, {"name": "spam.txt", ...}]
Szerezd meg a csatolmányok a csomagban
$ Curl --cookie session.txt --cookie-jar session.txt X GET http: // localhost: 8000 / kiegészítőket / foo /
$ [{"Mimetype": "text / plain", "mérete": 4, "name": "egg.txt", "teremtett": "2011-12-29 04:12"}, {"mimetype": "text / plain", "mérete": 5, "name": "spam.txt", "teremtett": "2011-12-29 04:12"}]
A fenti dicts JSON formátumban adja vissza.
Töltse le a fájlt a csomagban
$ Göndör --cookie session.txt --cookie-jar session.txt X GET http: // localhost: 8000 / kiegészítőket / foo / spam.txt /
levélszemét
Törölni a csatolt a csomagot
$ Göndör --cookie session.txt --cookie-jar session.txt X POST http: // localhost: 8000 / kiegészítőket / foo / spam.txt / delete /
[Igaz]
Tisztítsuk meg az egész köteg
$ Curl --cookie session.txt --cookie-jar session.txt X POST http: // localhost: 8000 / kiegészítőket / foo / delete /
[[True]]
Management parancsot razzia elavult mellékletek
Van egy vezetői parancsot, amely eltávolítja a "elavult" mellékleteket a csomagot. Beállítani a küszöböt, hogy távolítsa el lehet adni a napok száma:
./manage.py remove_outdated_attachments --older-nél = 3
követelmények :
- Python
- Django
Hozzászólás nem található