Django의 flash 메시지
mvc 모델을 바탕으로 하는 프레임워크에서 우리는 플래시 메시지 방식을 사용할 수 있다.
이전에는 웹2py 프레임워크를 사용할 때 주로 다음과 같이 썼다.
response.플래시 ='%s 주문 성공'% foods[0].name
자동으로 위에서 response를 알립니다.플래시 정보.
하나.Django admin의 메시지
그러나django는 플래시가 없습니다. 우리가django admin을 사용할 때 한 대상을 저장한 후에 목록의 위쪽에 알림 정보가 나타나는 것을 보았습니다. 이것은 어떻게 하는 것입니까?
원본 코드를 보십시오. 저희가 볼 수 있는 것은 다음과 같습니다.
request.user.message_set.create(message="Your playlist was added successfully.")
template에 다음 코드를 추가합니다.
{% if messages %}
<ul class="messagelist">
{% for message in messages %}
<li>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}
메시지 list CCTV를 설정하면django admin과 같은 알림 정보 효과를 얻을 수 있습니다.
그러나 이런 힌트 정보는 Request에 의존해야 한다.사용자, 로그인을 하지 않으면 실행할 수 없습니다.
자세히 보기 django document:
http://docs.djangoproject.com/en/dev/topics/auth/#messages
둘.Flash Message Template Tag
다음에 우리는 Flash Message Template Tag를 사용하여 실현한다.
특정 구현 방법은 Flash Message Template Tag의 문서를 볼 수 있습니다.
http://www.djangosnippets.org/snippets/319/
참고:django의 최신 버전에서는 코드 중 하나를 수정해야 합니다.
원문의 57-58 코드는 다음과 같이 수정되었습니다.
if ret is not None:
context.update(ret)
return self.nodelist.render(context)
너는
>>>request.session['flash_msg'] = 'Your changes have been save'
>>>request.session['flash_params'] = {'type': 'success'}
포장된 사용은 다음과 같이 더욱 우호적이다.
#coding=utf-8
def add_msg(request,msgtype,msg):
request.session["flash_msg"] = msg
request.session["flash_params"] = {'type': msgtype}
def add_success_msg(request,msg):
add_msg(request,'success',msg)
def add_error_msg(request,msg):
add_msg(request,'error',msg)
이렇게 하면 너는 다음과 같다.
flash.add_success_msg(request,' !')
flash.add_error_msg(request,e.msg)
Flash Message를 구현할 수 있습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
클린 아키텍처의 Presenter를 이해하기 어려운 것은 MVC 2가 아니기 때문에클린 아키텍처에는 구체적인 클래스 구성 예를 보여주는 다음 그림이 있습니다. 이 그림 중에서 Presenter와 Output Boundary(Presenter의 인터페이스)만 구체 구현을 이미지하는 것이 매우 어렵다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.