2016-11-10 5 views
0

현재 내장형 django-messages 프레임 워크 django 버전 1.10을 사용하고 있습니다.Django 메시지가 다른 모듈로 유출되는 것을 방지하려면 어떻게해야합니까?

그러나 메시지는 요청에 저장되므로 다른 모듈에 대한 것처럼 "네임 스페이스"가 아니기 때문에 이것은 하나의 모듈에서 만든 메시지 (예 : 메시징 프레임 워크 " 귀하의 메시지가 전송되었습니다 ") 다른 사람에게 피가 흘릴 수 있습니다.

의도하지 않은 영향을 미치지 않도록 이러한 메시지를 "네임 스페이스"할 수있는 방법이 있습니까?

또한 메시지가 반복되면 메시지가 만료된다고 말합니다. 즉, 메시지를 반복하는 것을 잊어 버리면 여러 요청을 통해 빌드 할 수 있습니다.

+0

네임 스페이스 문제를 잘 모르겠다 - 모든 메시지는 요청에 단순히 저장되고 세션별로 관리되므로 요청 네임 스페이스에 있습니다. 요청 (및 따라서 세션)을 조작하는 모든 객체는 메시지를 추가 할 수 있습니다. 메시지가 모듈 간 통신 (외부 캐시 또는 메시지 버스 사용)이 아니기 때문에 어떤 네임 스페이스가 필요한지 알 수 없습니다. 그러나 사용자 정의 태그를 메시지에 추가하여 메시지를 더 차별화 할 수 있습니다. 응답이 처리되면 메시지가 자동으로 지워 지므로 메시지가 생성되지 않습니다. –

+0

@BurhanKhalid'email' 모듈에 추가 한 메일이 실수로'account' 모듈에 표시되는 것을 막는 방법 – AlanSTACK

답변

0

만료되기 위해 메시지를 반복 할 필요가 없습니다. 장고는 당신을 위해 그렇게합니다. 하나 request는 다음 request에 걸쳐 반복 것 message를 얻을 때 템플릿을 허용하고 request 데이터에서 제거 된 경우

가 표시됩니다. 즉 한 번 표시되고 제거됩니다.

유일한 방법은 당신의 email 모듈에서 messageaccount 모듈에 표시 할 얻을 것은 직접 이메일을 전송 한 후 (완성 된 message 추가 작업 후 account 페이지로 사용자를 리디렉션하는 것입니다, 예를 들어). views에서이 문제를 완전히 제어 할 수 있습니다.