Django 筆記之 Message 訊息框架

2021-09-26 20:03:58 字數 2517 閱讀 1360

使用者提交表單後應用給予的反饋就是 訊息 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...