django在模板中创建N个表单

时间:2018-01-11 17:39:47

标签: django django-forms django-templates

我想知道是否有可能编写一个更通用的表单来用作模板,这样在渲染过程中它会根据需要创建多个表单?如果不是,如何编写代码来创建N个表单,其中数字取决于某些查询集的结果,并且多对多字段中的选项也取决于问题集?我知道下面的代码不起作用我将它留作更多的sudo代码 forms.py:

class OptionalSFRForm(forms.Form):
    selected_optional_sfr = forms.ModelMultipleChoiceField(queryset=sfrs_models.ProtectionProfile.objects.all())
    def Custom(QueryPP):
        selected_optional_sfr = forms.ModelMultipleChoiceField(queryset=QueryPP.Optional_SFR.objects.all())

models.py

class ST_Title(models.Model):
    Selected_SFR =  models.ManyToManyField(sfrs_models.SFR, related_name='Selected_SFR')
    AttachedPPs = models.ManyToManyField(sfrs_models.ProtectionProfile, related_name='ST_PPs')

sfrs.models.py

class ProtectionProfile(models.Model):
    Optional_SFR = models.ManyToManyField(SFR, related_name='Optional')

模板:

{% for AttachedPPs in ST_Title.AttachedPPs.all %}
 <form action="{% url 'SecurityTarget:stview' ST_Title.id %}" method="post" id="conformanceform">
    {% csrf_token %}
    {{OPTSFRS.Custom(AttachedPPs)}}
</form>

0 个答案:

没有答案