在 Django 中,如何编写 else 语句来重新加载同一页面并触发错误消息弹出窗口?

In Django, how to code else statement to reload same page and trigger error message pop-up?

我正在编写一个 Django 视图,它应该允许用户通过选择他们想要导出的记录,然后单击 Django 管理更改列表页面上的“导出”按钮,将选定的记录导出到 Excel。我对此有一个 if/else 声明,我希望我的 else: 基本上重新加载相同的更改列表页面,但是如果用户单击 "Export" 则触发弹出 window 错误消息] 没有选择任何要导出的记录。类似 "No records selected to export. Please try again." 我将如何完成此操作? TIA!

你应该看看messages documentation。基本上,您应该在模板中添加如下内容:

{% if messages %}
    <div class='messages'>

    <ul class="messages">
    {% for message in messages %}
    <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{% if "html_safe" in message.tags %}{{ message|safe }}{% else %}{{ message }}{% endif %}</li>
    {% endfor %}
    </ul>

    </div>
{% endif %}

在你的 views.py 中,你可以这样做:

messages.error(request, "This is an error message")
return HttpResponseRedirect(instance.get_absolute_url())

把html当盐山了,我还不如frontender/designer。