Вопрос

Я хотел бы создать таблицу с несколькими столбцами, которые отображают существующие данные, и один столбец, который содержит текстовое поле, где я могу вводить данные.

Когда я использую мою модель «животных» в моем формах. 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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top