首页 > 解决方案 > Django:创建帖子后显示消息

问题描述

用户创建帖子后如何添加简单消息,例如“帖子已创建”

视图.py

 class PostCreateView(LoginRequiredMixin, CreateView):
    
        model = Post
        form_class = PostForm
    
    
        def form_valid(self, form):
            form.instance.author = self.request.user ##author = current logged in user
            return super().form_valid(form)

base.html

{% if messages %}
  {% for msg in messages %}
    <div class="alert alert-info alert-dismissable">
      <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
      {{msg.message}}
    </div>
  {% endfor %}
{% endif %}

标签: python-3.xdjango

解决方案


在您的 form_valid 和 form_invalid 方法中,您可以添加消息。

from django.contrib import messages
def form_valid(self, form):
    ....
    msg = 'Your thing has been done successfully'
    messages.add_message(self.request, messages.SUCCESS, msg)
    return super().form_valid(form)

推荐阅读