Выбор формы Django влияет на поднятие другой формы
Я хочу сделать форму на add_form.html, где сначала появляется выбор типа кривой, а потом нужная форма.Так вот, как-то связать их вместе на одной странице. Например, выбор пользователя: Static cyclic и под этой формой появляется CyclicCurveForm. Спасибо за помощь. models.py:
class CyclicCurve(models.Model):
name = models.CharField(max_length=200, unique=True)
K = models.FloatField(max_length=200)
n = models.FloatField(max_length=200)
comment = models.CharField(max_length=1000)
material_id = models.ForeignKey(Material, on_delete=models.CASCADE)
def __str__(self):
return self.name
class EnCurve(models.Model):
name = models.CharField(max_length=200, unique=True)
Sf = models.FloatField()
b = models.FloatField()
c = models.FloatField()
Ef = models.FloatField()
comment = models.CharField(max_length=1000)
material_id = models.ForeignKey(Material, on_delete=models.CASCADE)
forms.py:
class CurveForm(forms.Form):
RELEVANCE_CHOICES = (
(1, ("Static cyclic")),
(2, ("En fatigue"))
)
type = forms.ChoiceField(choices=RELEVANCE_CHOICES, required=True)
class CyclicCurveForm(ModelForm):
class Meta:
model = CyclicCurve
exclude = ['material_id']
class EnCurveForm(ModelForm):
class Meta:
model = EnCurve
exclude = ['material_id']
add_form.html:
{% extends "main/base.html" %}
{% block title %}
Create
{% endblock %}
{% block content %}
<form action="" method="POST">
{% csrf_token %}
{{form.as_p}}
<input type=button value="Previous Page" onClick="javascript:history.go(-1);">
<input type="submit" name="Submit">
</form>
{% endblock %}
views.py:
### CREATE/ADD/EDIT CURVE ###
def create_curve(response, material_type_id, material_id):
form = CurveForm()
if response.method == "POST":
form = CurveForm(response.POST)
if form.is_valid():
curve_type = form.cleaned_data
.....
context = {"form": form, "material_type_id": material_type_id, "material_id": material_id}
return render(response, "main/add_update_form.html", context)