이
는 상황에 맞는 프로세서를 사용하는, 내가 할 것입니다
TEMPLATE_CONTEXT_PROCESSORS = (
"django.core.context_processors.request",
"django.core.context_processors.debug",
"django.core.context_processors.media",
"django.core.context_processors.auth",
"project.application.context.messages",
)
위의 기능을 사용하면 모든 요청에 대해 messages
이 호출되며 retu 템플릿의 컨텍스트에 rns가 추가됩니다. 나는 사용자에게 메시지를주고 싶은 경우 장소에두고,이 작업을 수행 할 수 있습니다
{% if message %}
<div id="system_message" class="{{ message_type }}">
{{ message }}
</div>
{% endif %}
: 디스플레이에 오류가 있는지
def my_view(request):
if someCondition:
request.session['message'] = 'Some Error Message'
마지막으로, 템플릿에 당신은 단지 확인하실 수 있습니다 메시지 유형은 스타일 ("error", "notice", "success")에 따라 스타일을 지정하는 데 사용되며이 설정 방법은 사용자에게 한 번에 하나의 메시지 만 추가 할 수 있지만 그 전부입니다 정말 필요하기 때문에 나를 위해 작동합니다. 여러 메시지 등을 허용하도록 쉽게 변경 될 수 있습니다.
django_session_messages는이 패치의 코드가 실행되기 전에 모든 사용자 메시지를 삭제하는 django.core.context_processors.auth와 작동하지 않습니다. 아마도 장고에서 전체 메시지 시스템을 다시 수행하는 것을 고려할 수도 있습니다. – Evgeny
설정에서 두 개의 컨텍스트 프로세서 순서를 뒤집으면 두 번째 컨텍스트 프로세서가 메시지 목록을 덮어 쓰게되므로 도움이되지 않습니다. – Evgeny