jc.jang

9강 Messages Framework 본문

Django/Django - Form,ModelForm

9강 Messages Framework

jangstory 2019. 10. 4. 18:05

주제

  • 매 Form 요청을 처리하고나서 유저에게 피드백을 주는 방법 중에 하나로 Messages Framework가 있다.

  • Messages Framework를 활용하면 우리가 할 일은 메세지만 지정하는 것이다.

  • '로그인 성공', '저장 완료', '삭제 완료' 등의 메시지를 유저에게 손쉽게 노출 가능하다.

노트

  • 사용자의 요청을 처리 한 후 사용자에게 일회성 알림 메시지를 표시한다.
  • 이를 위해 장고에서는 Message Framework을 사용한다.
  • 모든 메시지는 특정 태그 레벨로 결정이 가능하다.

 

  • 메시지는 미들웨어 클래스 및 컨텍스트 프로세서를 통해 구현된다.
  • 미들웨어는 장고의 요청/응답 처리에 연결되는 프레임워크다. 장고의 입력 또는 출력을 전체적으로 변경하기 위한 경량의 플러그인 시스템이다.
  • setting.py에 'INSTALLED_APPS'에 'django.contrib.messages'가 등록되어 있다. MIDDLEWARE에 'django.contrib.sessions.middleware.SessionMiddleware'와 'django.contrib.messages.middleware.MessageMiddleware'가 등록 되어 있다.

 

  • Message Level은 DEBUG, INFO, SUCCESS, WARNING, ERROR 등이 있다.
  • Message Tags로 메시지 레벨을 문자열로 가져올 수 있다.

 

  • 뷰와 템플릿에서 메시지 사용하기
  • 메시지 호출하는 방법
from django.contrib import messages
messages.add_message(request, messages.INFO, 'Hello world.')
  • 뷰에서 이렇게 추가한다.

 

  • 메시지 표시하는 방법
{% if messages %}
<ul class="messages">
    {% for message in messages %}
    <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
    {% endfor %}
</ul>
{% endif %}
  • 템플릿에서 messages라는 context로 접근 가능

'Django > Django - Form,ModelForm' 카테고리의 다른 글

10강 11강  (0) 2019.10.05
8강 Form Template Custom Render  (0) 2019.10.03
7장 Widget Overview  (0) 2019.09.25
6강 Form Validation  (0) 2019.09.25
5강 ModelForm  (0) 2019.09.24
Comments