为了显示带有{{ form.initial.ticket_reference }}
的ticket_reference,请在forms.py中包含字段ticket_reference
。虽然我可以通过forms.HiddenInput()隐藏该字段,但现在我想知道这是否是“保存”?用户不应该能够更改该隐藏字段,但是目前,我认为,一些有知识的人将能够更改此隐藏字段数据,因此它是ticket_id。您之前是否遇到过类似的问题?
.html文件
<form method="post">
{% csrf_token %}
{{ formset.management_form }}
{% for form in formset %}
<div class="card mt-5">
<div class="card-header">
Ticket ref: {{ form.initial.ticket_reference }}
</div>
<div class="card-body">
<div class="form-row">
<div class="form-group col-md-6">
<label for="inputAddress">{% trans "First name" %}</label>
{{ form.first_name }}
[...]
forms.py
class AssignAttendeeForm(forms.ModelForm):
class Meta:
model = Attendee
fields = (
'ticket_reference',
'first_name',
'last_name',
'company_name',
'email',
)
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['ticket_reference'].widget = forms.HiddenInput()
答案 0 :(得分:0)
您可以将字段的disabled
属性设置为True
。
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['ticket_reference'].widget = forms.HiddenInput()
self.fields['ticket_reference'].disabled = True