(最初は私の悪い英語のために申し訳ありません) ユーザーが変更を保存したときに、UpdateViewにメッセージを表示しようとしています!
これは私の見解です
class NeedUpdateView(UpdateView):
model = Need
template_name = "purchases/needs_update_form.html"
pk_url_kwarg = "need_id"
success_message = "List successfully saved!!!!"
fields = [
"detail",
]
アプリケーションを保存すると、同じテンプレートがロードされます。しかし、私はオブジェクトを保存する場合、ブートストラップアラートを表示するのが好きです!
これは、メッセージを表示するためのテンプレート内のコードです
{% if messages %}
<div class="alert alert-success">
{% for m in messages %}
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ m }}</li>
{% endfor %}
</div>
{% endif %}
設定ではこれを追加します
MESSAGE_STORAGE = "django.contrib.messages.storage.session.SessionStorage"
しかし、私はメッセージを表示することはできません!オブジェクトの変更はメッセージを表示する必要があります保存罰金です!
編集:ここに私の設定を表示する私は、ドキュメントのすべての手順に従うことを示す
MIDDLEWARE = [
"django.middleware.security.SecurityMiddleware",
"django.contrib.sessions.middleware.SessionMiddleware",
"django.middleware.locale.LocaleMiddleware",
"django.middleware.common.CommonMiddleware",
"django.middleware.csrf.CsrfViewMiddleware",
"django.contrib.auth.middleware.AuthenticationMiddleware",
"django.contrib.messages.middleware.MessageMiddleware",
"django.middleware.clickjacking.XFrameOptionsMiddleware",
]
DJANGO_APPS = [
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",
]
TEMPLATES = [
{
"BACKEND": "django.template.backends.django.DjangoTemplates",
"DIRS": [os.path.join(BASE_DIR, "templates")],
"APP_DIRS": True,
"OPTIONS": {
"context_processors": [
"django.template.context_processors.debug",
"django.template.context_processors.request",
"django.contrib.auth.context_processors.auth",
"django.contrib.messages.context_processors.messages",
"django.template.context_processors.i18n",
"apps.cart.context_processors.cart",
],
},
},
]
回答:
回答№1の場合は7に クラスベースのビューでメッセージを有効にする、あなたは SuccessMessageMixin
.
from django.contrib.messages.views import SuccessMessageMixin
class NeedUpdateView(SuccessMessageMixin, UpdateView):
...
success_message = "List successfully saved!!!!"