所以我在Django部分模板中有一个列表.

<div class="col">
    <div class="row pb-2" id="rowcolor">
        <div class="col border-bottom">
            pk:{{ color.pk }} / name:{{ color.description|title }}
        </div>
        <div class="col-auto">
            <button hx-delete="{% url 'delete-color' pk=color.pk %}" hx-target="#rowcolor" hx-swap="outerHTML"
                class="btn btn-outline-secondary btn-sm float-end" type="button">Delete</button>
        </div>
    </div>
</div>

enter image description here

删除pk 149/name 3时:pk 147/name 1消失.

刷新时正确.PK:149已经消失了.

视图如下:

@require_http_methods(["DELETE"])
def delete_color(request, pk):
    if request.htmx:
        Color.objects.get(pk=pk).delete()

        return HttpResponse("")

我一直在try 阅读htmx文档.但我不明白.有人能告诉我正确的方向吗?

推荐答案

不要将相同的id赋予多个元素:使项目唯一,例如通过添加公钥:

<div class="col">
    <div class="row pb-2" id="rowcolor{{ color.pk }}">
        <div class="col border-bottom">
            pk:{{ color.pk }} / name:{{ color.description|title }}
        </div>
        <div class="col-auto">
            <button hx-delete="{% url 'delete-color' pk=color.pk %}" hx-target="#rowcolor{{ color.pk }}" hx-swap="outerHTML"
                class="btn btn-outline-secondary btn-sm float-end" type="button">Delete</button>
        </div>
    </div>
</div>

您可能可以通过使用以下方法稍微提高视图的效率:

@require_http_methods(['DELETE'])
def delete_color(request, pk):
    if request.htmx:
        Color.objects.filter(pk=pk).delete()
        return HttpResponse('')

Django相关问答推荐

Djnago admin中 Select 字段的自定义查询

没有与给定查询匹配的监视列表

错误404除主要应用程序外,HTML页面无法渲染的其他应用程序

Django中的InvalidOperation错误[]

AttributeError:模块rest_framework.serializers在 Swagger 中的 Django 中没有属性NullBooleanField

如何计算 Django 模型中特定对象的数量?

使用django提交后如何保留html表单数据?

Django ORM __in 但不是精确的,包含不区分大小写的?

EmailBackend 用于在 Django 中通过多个 SMTP 发送邮箱

django-rest-framework 如何使模型序列化器字段成为必需

Django ORM,按天分组

AttributeError:'Manager'对象在Django中没有属性'get_by_natural_key'错误?

如何在 Django 测试框架中修改会话

Matplotlib - Tcl_AsyncDelete:异步处理程序被错误的线程删除?

Django ORM 能否以可靠的与后端无关的方式存储无符号 64 位整数(又名 ulong64 或 uint64)?

如何在 django 中分离我的模型?

如何在 Django 中触发 500 错误?

如何查询名称包含python列表中任何单词的模型?

Django查询否定

Django 在 css 文件中使用背景图像的方法