django เซสชั่นสิ่งที่แนบมาเป็นแอพพลิเค Django ที่มีจุดมุ่งหมายที่จะทำงานกับสิ่งที่แนบมาใน Django
โดยทั่วไปการทำงานกับสิ่งที่แนบมาเป็นเช่นเดียวกับการทำงานร่วมกับภาพที่ส่งสามัญยกเว้นสำหรับความแตกต่างไม่กี่:
- สิ่งที่แนบมา "เป็น" ให้กับลูกค้าของพวกเขาได้อัปโหลด ในคำอื่น ๆ สิ่งที่แนบมาจะต้องเป็นส่วนตัวและไม่สามารถเข้าถึงได้ให้กับประชาชน
- สิ่งที่แนบมามีการจัด "การรวมกลุ่ม" มันทำให้รู้สึกถ้าลูกค้าของคุณตัดสินใจที่จะทำงานร่วมกับชุดสิ่งที่แนบมาที่แตกต่างกันในส่วนต่างๆของแอพลิเคชันของคุณ (ตัวอย่างเช่นเขา / เธอเขียนอีเมลหลายหรือการร้องขอ simultaniously และเห็นได้ชัดว่าไม่ต้องการที่จะแบ่งปัน / สิ่งที่แนบมาเธอระหว่างผู้รับของเขา.)
- สิ่งที่แนบมาเป็นชั่วคราว จะต้องมีวิธีการที่ง่ายที่จะลบสิ่งที่แนบมาด้วยตนเองหรือโดยหมดอายุ
- สิ่งที่แนบมาจะต้องใช้งานได้แม้สำหรับผู้ใช้ไม่ได้รับอนุญาต เป็นเพราะรายละเอียดของเรา และนี่ก็เป็นเหตุผลหลักว่าทำไมเราได้สร้าง app นี้
- มันเป็นไปไม่ได้ที่จะเก็บสองสิ่งที่แนบมาที่มีชื่อเดียวกันในห่อเดียวกัน สิ่งที่แนบมาใหม่เขียนทับหนึ่งก่อนหน้านี้ ดูเหมือนว่าข้อ จำกัด สติให้แอปพลิเค usecase
การติดตั้งและการกำหนดค่า
ติดตั้งโปรแกรมจาก PyPI หรือ GitHub:
& nbsp; จุดติดตั้ง Django-เซสชั่นสิ่งที่แนบมา # หรือ
& nbsp; จุดติดตั้งคอมไพล์: //github.com/NetAngels/django-session-attachments.git#egg=django-session-attachments
เพิ่มโปรแกรมใหม่ที่จะตั้งค่าไฟล์ของคุณ:
INSTALLED_APPS = [
& nbsp; 'django.contrib.staticfiles',
& nbsp; ...
& nbsp; 'session_attachments',
& nbsp; ...
]
รวมบรรทัดใหม่เพื่อ urlconf คุณ (urls.py):
urlpatterns รูปแบบ = ('',
& nbsp; ...
& nbsp; url (R '^ สิ่งที่แนบมา /' รวม ('session_attachments.urls'))
& nbsp; ...
)
มีแบบแยก Django คือการบันทึกสิ่งที่แนบดังนั้นคุณควรพิมพ์:
./manage.py syncdb session_attachments
วิธีการใช้งาน
ให้ที่ app ของคุณสามารถดูได้ที่ localhost: 8000 คุณจะได้รับต่อไปนี้จำนวนของ URL ที่จะทำงานร่วมกับส่วนหน้าของคุณจาก มันอาจจะง่ายต่อการทำงานกับแบ็กเอนด์ที่ไม่ตรงกันโดยใช้ JQuery ขยายรูปแบบหรือสิ่งที่คล้ายกัน
ตัวอย่างด้านล่างขดใช้เพื่อประโยชน์ของความเรียบง่าย เพราะสิ่งที่แนบมามีการเชื่อมโยงกับเซสชั่นมันเป็นสิ่งสำคัญที่จะทำให้คุกกี้เซสชั่นระหว่างสวดขด เราทำมันได้โดยผ่าน --cookie session.txt --cookie-โถ session.txt ตัวเลือกที่จะขด
โปรดทราบว่าตัวอย่างขดไม่ทำงานจนกว่าตัวกลาง CSRF ถูกปิดใช้งานในการตั้งค่า
อัพโหลดไฟล์ไปยังกำ
ในการอัปโหลดไฟล์ข้อมูลไปยังโพสต์ / สิ่งที่แนบมา // URL รูปแบบที่ต้องมีอย่างน้อยหนึ่งเขตข้อมูลแฟ้ม ชื่อของเขตข้อมูลไฟล์สามารถ arbitrary ขณะที่พวกเขาจะถูกละเลยโดย app:
$ echo สแปม> spam.txt
echo $ ไข่> egg.txt
$ ขด --cookie session.txt --cookie-โถ session.txt -F attach1=@spam.txt -F attach2=@egg.txt POST -X http: // localhost: 8000 / สิ่งที่แนบมา / foo /
[{"ชื่อ": "egg.txt" ... }, {"ชื่อ": "spam.txt" ... }]
รับรายชื่อของสิ่งที่แนบมาในห่อ
$ ขด --cookie session.txt --cookie-โถ session.txt -X แถม http: // localhost: 8000 / สิ่งที่แนบมา / foo /
$ [{"ชนิด mime": "text / plain", "ขนาด": 4, "ชื่อ": "egg.txt", "สร้าง": "2011-12-29 04:12"}, {"ชนิด mime": "text / plain", "ขนาด": 5, "ชื่อ": "spam.txt", "สร้าง": "2011-12-29 04:12"}]
รายการ dicts ในรูปแบบ JSON จะถูกส่งกลับ
ดาวน์โหลดไฟล์จากกำ
$ ขด --cookie session.txt --cookie-โถ session.txt -X แถม http: // localhost: 8000 / สิ่งที่แนบมา / foo / spam.txt /
สแปม
ลบสิ่งที่แนบมาจากมัด
$ ขด --cookie session.txt --cookie-โถ session.txt -X POST http: // localhost: 8000 / สิ่งที่แนบมา / foo / spam.txt / ลบ /
[จริง]
ทำความสะอาดมัดทั้ง
$ ขด --cookie session.txt --cookie-โถ session.txt -X POST http: // localhost: 8000 / สิ่งที่แนบมา / foo / ลบ /
[[จริง]]
คำสั่งการจัดการสิ่งที่แนบมาที่ล้าสมัยการทำความสะอาด
มีคำสั่งการจัดการที่เอา "ล้าสมัย" สิ่งที่แนบมาจากมัดเป็น การตั้งค่าเกณฑ์ที่จะเอาคุณสามารถส่งผ่านจำนวนวันที่:
remove_outdated_attachments ./manage.py --older กว่า = 3
ต้องการ
- หลาม
- Django
ความคิดเห็นที่ไม่พบ