【发布时间】:2020-11-13 07:36:32
【问题描述】:
我想制作一个表格来编辑模型对象,初始数据是原始数据(更改之前),但它没有显示, 这只是一个空白表格
models.py:
class Employee(models.Model):
first_name = models.CharField(max_length=200)
last_name = models.CharField(max_length=200)
forms.py:
class EmployeeForm(forms.ModelForm):
class Meta:
model = Employee
fields = ['first_name', 'last_name']
labels = {'first_name' : 'First Name:', 'last_name' : 'Last Name:' }
input_attrs = {'class' : 'form-control'}
widgets = {
'first_name' : forms.TextInput(attrs=input_attrs),
'last_name' : forms.TextInput(attrs=input_attrs)}
views.py:
def edit(request, id):
employee = Employee.objects.get(id=id)
data = {
'first_name' : employee.first_name,
'last_name' : employee.last_name,
}
form = EmployeeForm(request.POST or None, initial=data, instance=employee)
if (form.is_valid and request.method == 'POST'):
form.save()
return HttpResponseRedirect('/form/')
response = {'employee_form' : EmployeeForm, 'employee':employee}
return render(request, 'editemployee.html', response)
editemployee.html:
<div class="form">
<div class="form-group">
<form action="" method="POST">
{% csrf_token %}
{% for form in employee_form %}
{{ form.label }}
{{ form }}
<br>
{% endfor %}
<input type="submit" value="Submit" class="btn btn-primary">
</form>
</div>
</div>
谁能告诉我哪里出错了?我已经尝试了很多东西,但无济于事。表单工作正常,但初始数据不显示。
【问题讨论】:
标签: django django-forms