【问题标题】:How do i properly show a flash message in django如何在 django 中正确显示 Flash 消息
【发布时间】:2021-07-18 10:54:42
【问题描述】:

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

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') 

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

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

【问题讨论】:

  • 好的,谢谢。我已经看到我犯错的地方了

标签: django django-messages


【解决方案1】:

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 %}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-22
    • 2021-02-13
    • 1970-01-01
    • 2011-07-05
    • 2013-07-05
    • 1970-01-01
    • 2017-03-31
    相关资源
    最近更新 更多