Django消息-调试标记消息未显示在模板上

zbq4xfa0  于 2023-02-10  发布在  Go
关注(0)|答案(1)|浏览(138)

我正在浏览Django消息的文档,并且已经建立了一个包含一些错误消息和调试消息的基本表单。错误消息出现了,但是调试消息没有出现。我不知道为什么调试消息没有出现,希望得到一些指导。我检查了设置文件,文档中列出的所有4行都已经包含在内,并且我在设置中将调试设置为True。
views.py

def register_request(request):
    if request.method == "POST":
        form = NewUserForm(request.POST)
        if form.is_valid():
            user = form.save()
            login(request, user)
            messages.success(request, "Registration successfull.")
            return redirect("messages_test:homepage")
        messages.error(request, "Unsuccessful registration. Invalid information.")
        messages.error(request, "Unsuccessful registration. Invalid information again.")
        messages.debug(request, "Debug message")
    form = NewUserForm()
    return render(request=request, template_name="messages_test/register.html", context={"register_form":form})

register.html

{% load static %}

<link rel="stylesheet" href="{% static 'messages_test/style.css' %}">

{% load crispy_forms_tags %}

<div class="container py-5">
    <h1>Register</h1>
    <form method="POST">
        {% csrf_token %}
        {{ register_form|crispy }}
        <button class="btn btn-primary" type="submit">Register</button>
    </form>
    {% if messages %}
    <ul class="messages">
        {% for message in messages %}
        <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
        {% endfor %}
    </ul>
    {% endif %}
    <p class="text-center">If you already have an account, <a href="/login">Login</a> instead.</p>
</div>

sczxawaw

sczxawaw1#

我想出来了。最基本的解决方法就是

MESSAGE_LEVEL = 10

在settings.py中。您也可以通过这种方式导入和添加消息

MESSAGE_LEVEL = messages.DEBUG

如果您想在特定视图中更改消息级别,可以将其添加到要添加的消息上方

# messages.set_level(request, 10)

相关问题