使用者提交表單後應用給予的反饋就是 訊息 messages;
這是乙個基於 cookie 和 session 的訊息框架;
使用預設 setting 已使能
包:django.contrib.messages
中介軟體:
django.contrib.sessions.middleware.sessionmiddleware
django.contrib.messages.middleware.messagemiddleware
預設 儲存後端 是 session, 所以順序有先後
message_storage = 'django.contrib.messages.storage.cookie.cookiestorage'
預設 fallbackstorage = cookiestorage or sessionstorage
message_level
有 5個級別:debug info success warning error
message_tags
可以在檢視裡使用的標籤字串,預設是訊息等級的小寫;
add_message(request, level, message, extra_tags='', fail_silently=false)
from django.contrib import messages
messages.add_message(request, messages.info, 'hello world.')
get_messages(request)
模板:
class
="messages"
>
}li>
ul>
模板之外:
from django.contrib.messages import get_messages
storage = get_messages(request)
for message in storage:
do_something_with_the_message(message)
傳入乙個表示等級的數
critical =
50def
my_view
(request)
: messages.add_message(request, critical,
'a serious error occurred.'
)
建議不要這麼做,內建的5個等級足夠用了
messages.add_message(request, messages.info,
'over 9000!'
, extra_tags=
'dragonball'
)messages.error(request,
'email box full'
, extra_tags=
'email'
)
設定fail_silently=true
使得訊息框架禁用時靜默失效
messages.info(request, 'hello world.', fail_silently=true)
類:django.contrib.messages.views.successmessagemixin
屬性:success_message
方法:get_success_message(cleaned_data)
class
complicatedcreate
(successmessagemixin, createview)
: model = complicatedmodel
success_url =
'/success/'
success_message =
"%(calculated_field)s was created successfully"
defget_success_message
(self, cleaned_data)
:return self.success_message %
dict
( cleaned_data,
calculated_field=self.
object
.calculated_field,
)訊息儲存器的訊息被迭代過後會自動標記為清除
避免清除可手動storage.used = false
企業日誌分析之linux系統message收集展示
之前寫了收集linux系統歷史history命令,下面介紹一下系統裡日誌收集與展示的。老規矩,先看效果,滿意的話繼續看。一 效果圖 1 總覽 2 linux系統日誌收集資料總量 主要是展示所選範圍內容收集日誌總量 3 linux系統日誌收集主機數 主要是展示當前總共有多少臺主機上傳了message日...
django學習筆記之登入
在測試admin成功之後我開始寫web的第乙個功能,登入。順序如下 1.首先在url裡面新增登入,我把登入的檔案放在account.py下面,所以url寫為 url r accounts login sys pm.account.userlogin name userlogin 這裡的name引數為...
Django自學筆記之快取
設定快取 django自帶了乙個健壯的快取系統來儲存動態頁面 快取到本地記憶體中 caches 將cache存到redis中,預設採用1資料庫,需要安裝包並配置如下 安裝包 pip install django redis cachesettings.py中配置 caches views.py中 f...