在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 本身来做到这一点?或者其他可以帮助我度过难关的东西?提前致谢。