html - 为什么没有出现 Django 表单集?
问题描述
我在同一页面上有一个表单和一个表单集。在我从 django admin 删除信息之前,我可以看到表单和表单集。在我删除了一些“患者”信息并更新了我的 css 文件后,表单集停止显示。
视图.py
def patient_new(request):
patientForm = PatientForm()
formset = LocationFormSet()
if request.method == "POST":
patientForm = PatientForm(request.POST)
formset = LocationFormSet(request.POST)
if patientForm.is_valid() and formset.is_valid():
patient = patientForm.save(commit=True)
for form in formset:
location = form.save(commit=False)
location.patient = patient
location.save()
return index(request)
else:
print('ERROR FORM INVALID')
return render(request, 'covidapp/patient_new.html',{'patientForm':patientForm, 'formset':formset})
.html 文件
<form class="form-horizontal" method="POST">
{% csrf_token %}
<div class="jumbotron">
<div class="row spacer">
<div class="col-2">
<div class="input-group">
{{ patientForm.as_p }}
</div>
</div>
</div>
{{ formset.management_form }}
{% for form in formset %}
<div class="row form-row spacer">
<div class="col-6">
<div class="input-group">
{{ form.as_p }}
<div class="input-group-append">
<button type="button" class="btn btn-success add-form-row">+</button>
</div>
</div>
</div>
</div>
{% endfor %}
<div class="row spacer">
<div class="col-4 offset-2"></div>
<button type="submit" class="btn btn-block btn-primary">Create</button>
</div>
</div>
</form>
html输出
我不确定隐藏的输入是否应该是我的表单集以及它为什么被隐藏。
模型.py
class Patient(models.Model):
name = models.CharField(max_length=200)
idn = models.IntegerField(unique=True)
date_of_birth = models.DateField()
date_of_confirm = models.DateField()
case_number = models.IntegerField()
def get_absolute_url(self):
return reverse("patient_detail", kwargs={'pk':self.pk})
def __str__(self):
return self.name
class Location(models.Model):
patient = models.ForeignKey(Patient, related_name='locations', on_delete=models.CASCADE)
location_name = models.CharField(max_length=50, null=True)
address = models.CharField(max_length=300, null=True)
grid_x = models.IntegerField(null=True)
grid_y = models.IntegerField(null=True)
date_from = models.DateField(null=True)
date_to = models.DateField(null=True)
details = models.CharField(max_length=300, null=True)
category = models.CharField(max_length=300, null=True)
def __str__(self):
return self.location_name
表格.py
class PatientForm(forms.ModelForm):
class Meta:
model = Patient
fields = '__all__'
LocationFormSet = modelformset_factory(
Location,
extra=0,
exclude = ('patient',)
)
解决方案
推荐阅读
- python - 如何有效地将多个功能应用于数据框?
- dart - Dart:以字符串为参数的函数作为回调中的参数
- html - 仅在事件后加载 amp-list 数据
- authentication - Kentico 12 - 如何将单个页面设置为需要身份验证?
- jquery - 如果 jquery 中的空在 laravel 中不起作用,则返回
- python - 如何从csv文件中选择3列系数的数据
- php - php xpath替换不具有一定的价值
- python - Django - 初始值模型
- spring-boot - Spring Boot Actuator - 多个健康端点
- javascript - 为什么“in”运算符会使用字符串文字而不是记录错误来引发错误?