如果表单无效,如何更改 HTMX 行为以替换整个网页

How to change HTMX behavior to replace the full web page if form is invalid

如果此表单提交无效,我想覆盖 htmx 并执行刷新整个页面的 HttpRedirectResponse,而不是仅仅更改 div、#superdiv、内容。

<form id="create_form" action="." method="post" hx-post="." hx-target="#superdiv" hx swap="outerHTML">
        {{ form }}
        <button id="button" type="submit">Create</button>
    </form>

我一直在尝试在我的观点 post 中这样做。

if form.is_valid():
    return self.form_valid(form)
else:
    return HttpResponseRedirect(reverse_lazy("logs:manager_form"))

使用 JavaScript 会更好吗?我正在尽力坚持现在只学习香草 JavaScript。

感谢您的帮助。

我不知道您是否已经在使用它,但是 django-htmx 扩展非常好用。

您可以从 Django 视图触发整个客户端刷新。

HttpResponseClientRefresh

希望有用