Backend/Django

Django message 구현

meong_j 2021. 12. 2. 17:30
728x90
반응형

Django Message

장고에서 제공해주는 장고 메시지는 유저의 편의성을 개선시키기 위해 message를 제공하는 것이고, message의 중요도 레벨에 대한 설정이 가능하다

https://docs.djangoproject.com/en/3.1/ref/contrib/messages/

 

The messages framework | Django documentation | Django

Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About ♥ Donate

docs.djangoproject.com

 

Message Level

메세지의 레벨에 따른 debug, info, success, warning, error 등에 대한 정보를 제공한다.

 

views.py

from django.contrib import messages

# 좋아요 두번이상 눌렀을 경우 error 메시지 출력 
messages.add_message(self.request, messages.ERROR, '좋아요는 한번만 가능합니다.')
# 좋아요 처음 눌렀을 경우 successs 메시지 출력
messages.add_message(self.request, messages.SUCCESS, '좋아요가 반영되었습니다.')
  • 좋아요 버튼을 눌렀을 때 정상일 경우 success message 처리, 에러일 경우 error message 처리함

 

settings.py

from django.contrib.messages import constants as messages
MESSAGE_TAGS = {
    messages.ERROR: 'danger',
}
  • 부트스트랩 버튼으로 level에 따른 message tag 전달하기 위한 설정

 

base.html

 {% for messages in messages %}
        <div class="text-center">
            <div class="btn btn-{{ message.tags }} rounded-pill px-5 my-3">
                {{ message }}
            </div>
        </div>
 {% endfor %}
  • 부트스트랩 버튼 모양 적용하여 tag 별로 message 날리기

 

🔻Bootstrap Button 링크

https://getbootstrap.com/docs/5.0/components/buttons/#button-tags

 

Buttons

Use Bootstrap’s custom button styles for actions in forms, dialogs, and more with support for multiple sizes, states, and more.

getbootstrap.com

 

적용 결과

 

반응형