如何根据pk从DB填充表单?因此,如果网址为http://demo.com/edit-voucher/123456,如何将凭证条目123456的值输入表单?
表单显示,但不知道如何填充它...
urls.py:
url(r'^edit-voucher/(?P<pk>[\d]+)', reports.EditVoucherView.as_view()),
forms.py:
class EditVoucherForm(forms.ModelForm):
class Meta:
model = Vouchers
fields = ['event_name', 'valid_start', 'valid_end', 'duration']
views.py:
class EditVoucherView(LoginRequiredMixin, GroupRequiredMixin, FormView):
template_name = 'edit_voucher.html'
group_required = u'voucherEdit'
form_class = EditVoucherForm
答案 0 :(得分:2)
您可以使用UpdateView
代替FormView
:
class EditVoucherView(LoginRequiredMixin, GroupRequiredMixin, UpdateView):
template_name = 'edit_voucher.html'
group_required = u'voucherEdit'
form_class = EditVoucherForm
model = Vouchers
答案 1 :(得分:0)
您似乎可以访问模板中表单的pk,因为它位于网址中。如果使用pycharm,请尝试使用调试器查看模板中是否有pk值。