장고 세션 - 첨부 장고의 첨부 파일로 작업하는 것을 목표로 장고 응용 프로그램입니다.
기본적으로 첨부 파일로 작업하는 몇 가지 차이점을 제외하고, 일반 업로드 작업과 동일합니다 :
- 첨부 파일은 업로드 한 고객에게 "속하는". 즉, 첨부 파일은 대중에게 개인 및 액세스 할 수 있어야합니다.
- 첨부 파일 "번들"로 구성되어 있습니다. 클라이언트 응용 프로그램의 다른 부분에 다른 첨부 세트로 작업하기로 결정하면 그것은 의미가 있습니다 (예를 들어, 그 / 그녀는받는 사람 사이에 그 / 그녀의 첨부 파일을 공유하지 않았습니다 분명히 simultaniously 여러 이메일이나 요청을 기록합니다.)
- 첨부 파일은 일시적입니다. 수동 또는 만료에 의해 첨부 파일을 제거하는 쉬운 방법이 있어야합니다.
- 첨부 파일도 인증되지 않은 사용자를 위해 사용할 수 있어야합니다. 그것은 우리의 특성 때문이다. 이것은 또한 우리가이 응용 프로그램을 만든 주된 이유입니다.
-이 같은 번들에서 같은 이름을 가진 두 개의 첨부 파일을 저장하는 것은 불가능하다. 새로운 첨부 파일이 이전을 덮어 씁니다. 이 응용 프로그램 쓰임새를 제공 제정신 제한처럼 보인다.
설치 및 구성
PyPI 또는 GitHub의에서 응용 프로그램을 설치합니다 :
& NBSP; 장고 세션 - 첨부 파일 #을 설치 PIP 또는
& NBSP; 자식 설치 PIP : //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; ...
)
이 첨부 파일을 저장하기 위해 별도의 장고 모델입니다, 그래서 당신은 입력해야합니다 :
./manage.py syncdb의 session_attachments
그것을 사용하는 방법
앱이 로컬 호스트에서 사용할 수 있도록 제공 : 8000, 당신은 당신의 프론트 엔드에서 작업하기위한 URL의 수에 따라 얻을. 아마 JQuery와 양식 확장 또는 유사한 것을 사용, 비동기 적으로 백엔드 작업하는 것이 더 쉽습니다.
샘플은 이하 간략화를 위해 사용 컬. 첨부 파일 세션과 연결되어 있기 때문에, 컬 호출 사이에 세션 쿠키를 유지하는 것이 중요합니다. 우리는 곱슬 곱슬하는 옵션 session.txt --cookie session.txt --cookie 항아리를 전달하여 그것을 할.
CSRF 미들웨어는 설정에서 비활성화되지 않는 한 그 컬 예제가 작동하지 않습니다 유의하시기 바랍니다.
번들에 파일을 업로드
파일 / 첨부 // URL에 데이터를 게시 업로드합니다. 형태는 적어도 하나의 파일 필드를 포함해야합니다. 그들은 응용 프로그램 무시로 파일 필드의 이름은 임의 될 수 있습니다
$ 스팸> spam.txt 에코
$ 에코 달걀> egg.txt
$ --cookie session.txt --cookie 항아리 session.txt -F attach1=@spam.txt -F attach2=@egg.txt -X POST에 http를 곱슬 곱슬 : // localhost를 : 8000 / 첨부 파일 / foo는 /
[{ "이름": "egg.txt", ...}, { "이름": "spam.txt", ...}]
번들의 첨부 파일의 목록을 가져옵니다
$ 컬 --cookie session.txt --cookie 항아리 session.txt -X GET에 http : // localhost를 : 8000 / 첨부 파일 / foo는 /
$ [{ "마임": "텍스트 / 일반", "크기": 4, "이름": "egg.txt", "만든": "2011-12-29 4시 12분"}, { "마임" "텍스트 / 일반", "크기": 5, "이름": "spam.txt", "만든": "2011-12-29 4시 12분"}]
JSON 형식의 dicts의 목록이 반환됩니다.
번들에서 파일을 다운로드
$ --cookie session.txt --cookie 항아리 컬 session.txt -X GET에 http : // localhost를 : 8000 / 첨부 파일 / foo는 / spam.txt /
스팸
번들에서 첨부 파일을 삭제
$ -X POST에 http session.txt --cookie session.txt --cookie 항아리 컬 : // localhost를 : 8000 / 첨부 파일 / foo는 / spam.txt / 삭제 /
[사실]
전체 번들을 정리
$ 컬 --cookie session.txt --cookie 항아리 -X POST에 http session.txt : // localhost를 : 8000 / 첨부 파일 / foo는 / 삭제 /
[[사실]
정리 오래된 첨부 파일 관리 명령
번들에서 "오래된"첨부 파일을 제거하는 관리 명령이 있습니다. 당신은 일 수를 전달할 수 있습니다 제거 임계 값을 설정하려면 :
= 3
요구 사항 :
이 파이썬
장고
댓글을 찾을 수 없습니다