使用时如何在模板中调用表单通用.FormView在Django?

2024-06-26 14:51:44 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的表格课: 从django导入表单

from .models import Category


class AddResource(forms.Form):

    CATEGORY_CHOICES = [cat.title for cat in Category.objects.all()]

    ResourceTitle = forms.CharField()
    Description = forms.Textarea()
    Link = forms.URLField()
    Categories = forms.MultipleChoiceField(choices=CATEGORY_CHOICES)

这是我对表单URL的视图:

^{pr2}$

我遇到的麻烦是在模板内部调用它。如何调用在django模板中分配的表单?在


Tags: djangofromimportform模板表单modelsforms
2条回答

FormView提供了一个名为form的上下文变量,用于保存实际的表单对象,因此您可以使用:

{{ form.as_table }}

form提供的任何其他呈现选项。参见:https://docs.djangoproject.com/en/dev/topics/forms/#displaying-a-form-using-a-template

我找到了答案。它是如何在django表单中包含选项的。因此CATEGORY_CHOICES必须是元组的列表,而在本例中则不是这样。在

因此,这个简单的改变使它成功了:

CATEGORY_CHOICES = [('', cat.title)
                    for cat in Category.objects.all()]

相关问题 更多 >