Skip to main content
 首页 » 编程设计

python之如何将 Django 消息写入您的 View 代码

2024年10月17日35over140

我正在阅读有关如何使用 Django 消息向用户显示消息的文档。它说为了在您的 View 中添加一条消息来调用:

from django.contrib import messages 
messages.add_message(request, messages.INFO, 'Hello world.') 

我不确定第二行放在哪里,这是我的看法:

def sign_up(request): 
 
    if request.method == "POST": 
        form = IdForm(request.POST) 
        if form.is_valid(): 
            post = form.save() 
            post.save() 
            ID = post.id_text 
            return HttpResponse('Thank you') 
        else: 
            return HttpResponse('That text is invalid') 
    else: 
        form = IdForm() 
    return render(request, 'checkin/base.html', {'form': form}) 

我希望消息出现并感谢用户注册并显示他们的输入。

请您参考如下方法:

请记住,在提交有效表单时重定向到成功 url 是惯例,您的代码应该如下所示:

def sign_up(request): 
 
    if request.method == "POST": 
        form = IdForm(request.POST) 
        if form.is_valid(): 
            post = form.save() 
            post.save() 
            ID = post.id_text 
            messages.add_message(request, messages.INFO, 'Hello world.') 
            return HttpResponseRedirect('/thank-you-page/') 
 
    else: 
        form = IdForm() 
    return render(request, 'checkin/base.html', {'form': form}) 

请注意,这也会导致用户被告知其表单无效的确切原因(假设您已正确设置模板)。说出问题所在总是比说有问题总是好的。