django-tables2: создать входное текстовое поле
-
26-12-2019 - |
Вопрос
Я хотел бы создать таблицу с несколькими столбцами, которые отображают существующие данные, и один столбец, который содержит текстовое поле, где я могу вводить данные.
Когда я использую мою модель «животных» в моем формах. PYPY, я вижу входные коробки.Однако, когда я использую ту же модель в моих таблицах .py, я вижу a '-' (тире) вместо коробок ввода.
Мои модели .py:
class Animal(models.Model):
specie = models.CharField(max_length=20)
count = models.CharField(max_length=20)
.
Моя форма. MY:
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