微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我如何在 django 中正确显示 Flash 消息

如何解决我如何在 django 中正确显示 Flash 消息

我有这个视图功能,需要在用户注册时向他们发送一条闪消息。现在运行良好,但问题是我设置了一条错误消息以在用户名或密码不正确时显示,并且认情况下始终显示在那里。这是我的代码

views.py

def signup(request):
    form = createuserForm() 
    if request.method == 'POST':
        form = createuserForm(request.POST) 
        if form.is_valid():
            form.save()
            user = form.cleaned_data.get('username') 
     
       messages.success(request,'An account was created for ' + user) 
    return redirect('login') 


def login_user(request):
    username = request.POST.get('username') 
    password = 
 request.POST.get('password')
    user = authenticate(username=username,password=password) 
    if user is not None:
        login(request,user) 
        return redirect('home') 
    else:
        messages.info(request,'Incorrect Username or Password') 

当我进入登录页面时,它只是显示我不正确的用户名或密码,即使我刚到那里

如何让它只在用户名或密码不正确时显示

解决方法

在mesasge.info重定向到再次登录页面后

messages.info(request,'User not exist')
return redirect('login')

在 html 文件中

{% for message in messages %}
      <div style="width: 350px; margin-left:500px; " class="alert alert-{{ message.tags }} " id="msg" role="alert">
      {{ message }}
        
{% endfor %}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。