0

forms.py 中

class BillGateway(forms.Form):
    from_date=forms.DateField(widget=forms.DateInput(attrs={'type': 'date'}), label='From ', label_suffix=' - ')
    to_date=forms.DateField(widget=forms.DateInput(attrs={'type': 'date'}), label='To ', label_suffix=' - ')
    billing_date=forms.DateField(widget=forms.DateInput(attrs={'type': 'date'}), label='Date of Billing ', label_suffix=' - ')
    rt_cash_amount_desc=forms.CharField(label='RT Cash Amount Description', label_suffix=' - ', required=False)
    rt_cash_amount=forms.DecimalField(label='RT Cash Amount', label_suffix=' - ', required=False)
    other_desc=forms.CharField(label='Other Head', label_suffix=' - ', required=False)
    other_amount=forms.DecimalField(label="Other Head's Amount", label_suffix=' - ', required=False)

view.py中:

def bill_gateway_view(request):
    if request.method=='POST':
        fro=request.POST.get('from_date')
        to=request.POST.get('to_date')
        bill_date=request.POST.get('billing_date')
        rt_cash_desc=request.POST.get('rt_cash_amount_desc')
        rt_cash_amount=request.POST.get('rt_cash_amount')
        other_desc=request.POST.get('other_desc')
        other_amount=request.POST.get('other_amount')
        request.session['fro']=fro
        request.session['to']=to
        request.session['bill_date']=bill_date
        request.session['rt_cash_desc']=rt_cash_desc
        request.session['rt_cash_amount']=rt_cash_amount
        return HttpResponseRedirect('/provisional_bill/')
    else:
        form=BillGateway()
        return render(request, 'account/bill_gateway.html', {'form':form})

模板中:

<form action="" method="post" novalidate>
        {% csrf_token %}
        {{form.as_p}}
        <button type="submit" id="savebtn">Proceed</button>
    </form>

现在,我想要实现的是让用户添加更多other字段,如果他other_desc/other_amount她需要在账单中填写更多详细信息。

我对这个概念相当陌生。我看过一些教程,其中导师主要使用 htmx 来实现这些事情,看起来很酷很容易,但他们所做的是在单击添加按钮时再次添加整个表单。我只希望用户能够只添加这两个字段而不是整个表单。我怎样才能做到这一点?我花了一整天的时间在互联网上寻找合适的解决方案,但没有找到。有没有办法使用 htmx 本身来做到这一点?或者其他可以帮助我度过难关的东西?提前致谢。

4

1 回答 1

0

如果我理解你,你需要让用户能够更新这两个字段(other_desk,other amount)来实现这一点你可以使用来自 django 的更新类视图或在这两种情况下创建你自己的视图你只需要包括这两个更新表单中的字段,如果您要创建自己的 biew,则需要将票据网关对象的 ID 号作为参数传递给查看函数或其 slug(如果 slug 字段可用)

于 2021-12-26T17:03:47.937 回答