python3.7でvscodeを使用して書いています djangoは2.~です
メッセージを投稿して、それの成功判定を
from django.contrib import messages
を使って表示させたいのですが,メッセージ自体は表示されていて、ただしその内容がこちらで設定している。
保存されました。というものと違いシステムメッセージのようなものが表示されており、設定している文字が反映されていないような感じです。
(メッセージ投稿自体は上手く動いてます。)
なのでurls.pyで設定しているmessage文をの内容を正常に表示させたいです。
urls.py
class BlogCreateView(CreateView): model = Blog #入力が加わって来るので、modelの中にあるcontentを使う form_class = BlogForm success_url = reverse_lazy('index') #上が成功した場合したが発生する def form_valid(self, form): messages.success(self.request,'保存しました') return super().form_valid(form) # #失敗した時のメッセージ def form_invalid(self, form): messages.error(self.request, "保存に失敗しました") return super().form_invalid(form)
表示させているhtmlが
<div class="container"> {% if messages %} <ul class="list-unstyled"> {% for message in messages %} <li {% if message.tags %} class="bg-{% if message.tags == 'error' %}danger{% else %}{{ message.tags }}{% endif %} alert"{% endif %}> {{ messages }} <button type="button" class="close" aria_label="Close" data-dismiss="alert"> <span aria-hidden="true">×</span> </button> </li> {% endfor %} </ul> {% endif %} {%block body%}{% endblock %} </div>
動作としては投稿した後、保存しました。と表示してほしいわけですが実際にはこのようなメッセージが出てきます。
<django.contrib.messages.storage.fallback.FallbackStorage object at 0x108d4af70>
と言うメッセージです
![イ(9964fca49688489c882ec98f54df27d4.png)
バックグラウンドカラーも、バツを押すとmessageが消えるのも正常に動いているので、保存しました。という部分がきちんと代入されていないのかと思いますが。原因がわからないため質問させていただきました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。