Django-tablas2:crear un cuadro de texto de entrada
-
26-12-2019 - |
Pregunta
Me gustaría crear una tabla con varias columnas que muestren datos existentes y una columna que contenga un cuadro de texto donde pueda ingresar datos.
Cuando uso mi modelo "Animal" en mi form.py, veo cuadros de entrada.Sin embargo, cuando uso el mismo modelo en mis tablas.py, veo un '--' (guiones) en lugar de los cuadros de entrada.
Mis modelos.py:
class Animal(models.Model):
specie = models.CharField(max_length=20)
count = models.CharField(max_length=20)
mis formularios.py:
class AnimalForm(forms.ModelForm):
class Meta:
model = Animal
mis tablas.py:
class AnimalTable(tables.Table):
class Meta:
model = Animal
Incluso intenté especificar manualmente un cuadro de texto, pero eso no ayudó:
class AnimalTable(tables.Table):
count = forms.Textarea()
class Meta:
model = Animal
¿Cómo se crearía un cuadro de entrada dentro de una tabla django-tables2?
Solución
Encontré una solución utilizable aquí .
TEMPLATE = """
<input id="count" maxlength="100" name="count" type="text"/>
"""
class AnimalTable(tables.Table):
count = tables.TemplateColumn(TEMPLATE)
class Meta:
model = Animal
Espero que esto también sea útil para los demás.
Otros consejos
Creo que es posible que hayas entendido mal el concepto de django-tables2
paquete.Su propósito es mostrar datos tabulares con la capacidad de ordenarlos y algunas otras cosas de formato.Entonces simplemente no puedes agregar campos de formulario tables.Table
clase, porque espera columnas.
La lista de columnas admitidas está disponible en la documentación aquí: http://django-tables2.readthedocs.org/en/latest/#built-in-columns