Django的會話附件是一個Django應用程序,旨在通過與在Django附件的工作。
基本上在與附件是相同的,與普通的上傳工作,除了少數區別:
- 附件“屬於”他們已經上傳的客戶。換言之,附件必須是私有和不可訪問的公開。
- 附件的組織為“捆綁”。這是有道理的,如果你的客戶決定使用不同的附件套在你的應用程序的不同部分的工作(例如,他/她寫幾封電子郵件或請求同時放,顯然不希望共享收件人之間的他/她的附件。)
- 附件是暫時的。必須有簡單的方法來手動或過期刪除附件。
- 附件必須有用,即使未經驗證的用戶。這是因為我們的細節。這也是為什麼我們創造了這個應用程序的主要原因。
- 這是不可能的存儲兩個附件與在相同束中的相同的名稱。新的附件覆蓋前一個。它看起來像給定的應用用例理智的限制。
安裝和配置
安裝一封來自PyPI或GitHub上的應用:
  PIP安裝Django的會話附件#或
  PIP安裝的git://github.com/NetAngels/django-session-attachments.git#egg=django-session-attachments
添加新的應用程序到你的設置文件:
INSTALLED_APPS = [
 “django.contrib.staticfiles',
  ...
 “session_attachments',
  ...
]
包括一個新行到你的URLconf(urls.py):
urlpatterns的=型態('',
  ...
  URL(R'^ /附件“,包括(”session_attachments.urls')),
  ...
)
有一個單獨的Django模型保存附件,所以你應該輸入:
./manage.py使用syncdb session_attachments
如何使用它
提供您的應用程序可在本地主機:8000,你就會得到如下的URL數量與從前端工作。它可能會更容易異步與後端工作,使用JQuery形式擴展或類似的東西。
下面的示例使用捲曲為簡單起見。由於附件並列會話,它使捲曲調用之間的會話cookie是非常重要的。我們通過傳遞--cookie session.txt --cookie-JAR session.txt選項捲曲做到這一點。
請注意,捲曲的例子不工作,除非CSRF中間件在設置中禁用。
上傳文件到捆綁
上傳文件POST數據到/附件// URL。表格必須包含至少一個文件字段。文件中的字段的名稱可以是任意的,因為它們是由應用程序忽略:
$呼應垃圾> spam.txt
$迴聲蛋> egg.txt
$捲曲--cookie session.txt --cookie-JAR session.txt -F attach1=@spam.txt -F attach2=@egg.txt -X POST的http://本地主機:8000 /附件/富/
[{“名稱”:“egg.txt”,...},{“名稱”:“spam.txt”,...}]
獲取的包附件列表
$捲曲--cookie session.txt --cookie-JAR session.txt -X GET的http://本地主機:8000 /附件/富/
$ [{“MIMETYPE”:“text / plain的”,“大小”:4,“名”:“創建”“egg.txt”:“2011-12-29 04:12”},{“MIMETYPE”: “text / plain的”,“大小”:5,“名”:“spam.txt”,“創造”:“2011-12-29 4點12分”}]
返回JSON格式http://stardict.sourceforge.net/Dictionaries.php下載列表。
從包下載文件
$捲曲--cookie session.txt --cookie-JAR session.txt -X GET的http://本地主機:8000 /附件/富/ spam.txt /
垃圾郵件
刪除附件從包
$捲曲--cookie session.txt --cookie-JAR session.txt -X POST的http://本地主機:8000 /附件/富/ spam.txt /刪除/
[真]
清理整束
$捲曲--cookie session.txt --cookie-JAR session.txt -X POST的http://本地主機:8000 /附件/富/刪除/
[真]
管理命令清理過時的附件
有這將刪除捆綁“過時”的附件的管理命令。要設置門檻,刪除你可以通過天數:
./manage.py remove_outdated_attachments --older-比= 3
要求:
- 在Python中
- 在Django的
評論沒有發現