我想创建一个包含显示现有数据的多个列的表,以及一个包含可以输入数据的文本框的列。
当我在forms.py中使用我的“Animal”模型时,我看到了输入框。但是,当我在tables.py中使用相同的模型时,我看到一个' - '(破折号)而不是输入框。
我的models.py:
class Animal(models.Model):
specie = models.CharField(max_length=20)
count = models.CharField(max_length=20)
my forms.py:
class AnimalForm(forms.ModelForm):
class Meta:
model = Animal
my tables.py:
class AnimalTable(tables.Table):
class Meta:
model = Animal
我甚至尝试手动指定文本框,但这没有帮助:
class AnimalTable(tables.Table):
count = forms.Textarea()
class Meta:
model = Animal
如何在django-tables2表中创建一个输入框?
答案 0 :(得分:3)
我找到了一个可用的解决方案here。
TEMPLATE = """
<input id="count" maxlength="100" name="count" type="text"/>
"""
class AnimalTable(tables.Table):
count = tables.TemplateColumn(TEMPLATE)
class Meta:
model = Animal
我希望这对其他人也有帮助。
答案 1 :(得分:0)
我认为你可能误解了django-tables2
包的概念。它的目的是显示表格数据,并能够对它们进行排序以及其他一些格式化的东西。所以你不能将表单字段添加到tables.Table
类中,因为它需要列。
此处的文档中提供了受支持列的列表:http://django-tables2.readthedocs.org/en/latest/#built-in-columns