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



如果这个表单提交无效,我想重写html并做一个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>

我一直试图在我的观点的辩护中这样做。

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

使用JavaScript会更好地实现这一点吗?我现在正在尽我最大的努力坚持只学习JavaScript。

谢谢你的帮助。

我不知道你是否已经使用它,但是django-htmx扩展真的很好很方便。

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

HttpResponseClientRefresh

希望对大家有用😊