我开始摆弄HTMX,发现了一堵我自己都无法攀登的墙:
我使用HTMX管理创建/编辑表单,并将数据发布到相应的视图并更新项目列表.它的效果非常好.但是,当表单引发验证错误时,该列表将被表单html替换.
当表单出现验证错误时,有没有办法设置不同的呈现目标?
<div class="modal-header">
<h5 class="modal-title" id="Object_ModalLabel">{% if object %}Edit{% else %}Create{% endif %} Object</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<form hx-post="{{targetURL}}" hx-target="#Object_List" method="POST">
{% csrf_token %}
{{form.as_div}}
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button type="submit" class="btn btn-primary">Save</button>
</div>
</form>
</div>
from django.views.generic import TemplateView, ListView, CreateView, UpdateView, DeleteView
from django.urls import reverse_lazy
from project.mixins import HtmxRequiredMixin, ResponsePathMixin
from .models import Object_
from .forms import Object_Form
# Create your views here.
class Object_Main(TemplateView):
template_name = 'Main.html'
class Object_List(HtmxRequiredMixin, ListView):
model = Object_
template_name = 'Object_List.html'
queryset = Object_.objects.all().order_by('as_group','as_name')
class Object_Create(ResponsePathMixin, HtmxRequiredMixin, CreateView):
template_name = 'Object_Form.html'
model = Object_
form_class = Object_Form
success_url = reverse_lazy('list-object')
class Object_Update(ResponsePathMixin, HtmxRequiredMixin, UpdateView):
template_name = 'Object_Form.html'
model = Object_
form_class = Object_Form
success_url = reverse_lazy('list-object')
这些是放置表单的模板和我的视图. 如果没有办法根据react 设定不同的目标,那么我将感谢任何建议.
我查看了不同的来源,但没有一个人从相同的Angular 处理表单验证问题.我现在不需要实时验证.
我向Bing询问了一些见解,但无法找到一个令人满意的/更不用说工作的解决方案.所以我想向我的人类程序员同事寻求帮助.