可以使用messaging framework爲了您的網頁上顯示一條消息:
很常用的Web應用程序,你需要顯示一個一次性通知消息(也被稱爲「閃信」)在處理表單或一些其他類型的用戶輸入之後給用戶。
爲此,Django提供了cookie-和基於會話的消息完全支持,匿名和身份驗證的用戶。消息框架允許您臨時將消息存儲在一個請求中,並檢索它們以便在隨後的請求(通常是下一個請求)中顯示。每條消息都標有確定其優先級的特定級別(例如,信息,警告或錯誤)。
有大量文檔和實施例中提供的鏈接。
編輯:實施例的設置
摘要(settings.py):
INSTALLED_APPS = (
...
'django.contrib.sessions',
'django.contrib.messages',
...
)
MIDDLEWARE_CLASSES = (
...
'django.contrib.sessions.middleware.SessionMiddleware',
...
'django.contrib.messages.middleware.MessageMiddleware',
...
)
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [
os.path.join(BASE_DIR, 'templates'),
],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
...
'django.contrib.messages.context_processors.messages',
],
'debug': True,
},
},
]
在視圖中:
from django.contrib import messages
if a < b:
messages.warning("a is less than b.")
在模板(例如,使用bootstrap3):
{% if messages %}
<div class="messages">
{% for message in messages %}
<div class="alert alert-{{ message.tags }} alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
{{ message }}
</div>
{% endfor %}
</div>
{% endif %}
它不起作用。你能在真實程序中展示這個例子嗎?他們說增加這個,補充說,但最後它不起作用。我不明白它是如何解決我的問題的......他們告訴要添加「如果messege」給我的模板...但是模板在開始時加載......在開始時不會有任何消息....它似乎沒有解決我的問題。 – aayushdagra
@aayushdagra:你有什麼試過?如果你說「它不工作」,你有什麼錯誤?對我來說,這聽起來像是解決您的問題的完美方案。你也可以只是谷歌「Django消息框架」它會給你噸的例子。 –
@aayushdagra我會同意Shang Wang,你有什麼嘗試?如果你閱讀文檔,它非常簡單。儘管如此,我還是爲了您的方便而添加了一個示例,我希望它有所幫助 – Wtower