0

我正在尝试将 Django 与 htmx 集成。我想在表格中呈现表格。但是当我输入一些数据并提交时,它说表单没有绑定。
这是视图:

def hx_payment_item_create(request, payment_id):
    payment = get_object_or_404(Payment, pk=payment_id)
    form = forms.PaymentItemCreateFromPaymentForm(request.POST or None)
    if request.method == "POST":
        if form.is_valid():
            item = form.save(commit=False)
            item.payment = payment
            item.save()
            if request.htmx:
                return redirect("core:hx-payment-item-detail", pk=item.pk)

            return redirect("core:payment-item-detail", pk=item.pk)
        else:
            print(form.errors)
    context = {"form": form, "payment": payment}
    return render(request, "core/partials/payment_item_form.html", context)

这是将在表格中呈现的模板:

<tr hx-target="this" hx-swap="outerHTML">
        <form method="POST">
            {% csrf_token %}
            {{ form.non_field_errors }}
            {% for hidden_field in form.hidden_fields %}
                {{ hidden_field.errors }}
                {{ hidden_field }}
            {% endfor %}
            {% for field in form.visible_fields %}
                <td>
                    <label for="{{ form.subject.id_for_label }}">{{ field.label }}</label>
                        {{ field.errors }}
                        {{ field }}
                        {{ field.help_text }}
                </td>
            {% endfor %}
                <td>
                    <button type="submit" hx-post="#some_url">
                        submit
                    </button>
                </td>
                <td>
                    <button hx-get="#another_url" type="button">
                        cancel
                    </button>
                </td>
        </form>
    </tr>
4

0 回答 0