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