Django-Tables2: Crea una casella di testo di input
-
26-12-2019 - |
Domanda
Vorrei creare una tabella con più colonne che visualizzano i dati esistenti e una colonna che contiene una casella di testo in cui posso inserire i dati.
Quando utilizzo il mio modello "animale" nelle mie forme.py, vedo scatole d'ingresso.Tuttavia, quando uso lo stesso modello nelle mie tavole.py, vedo un '-' (trattini) anziché le scatole d'ingresso.
My 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
.
Ho anche provato a specificare manualmente una casella di testo, ma questo non ha aiutato:
class AnimalTable(tables.Table):
count = forms.Textarea()
class Meta:
model = Animal
.
Come si potrebbe creare una scatola di entrata all'interno di una tabella Django-Tables2?
Soluzione
Ho trovato una soluzione utilizzabile qui .
TEMPLATE = """
<input id="count" maxlength="100" name="count" type="text"/>
"""
class AnimalTable(tables.Table):
count = tables.TemplateColumn(TEMPLATE)
class Meta:
model = Animal
.
Spero che questo si dimostri utile anche per gli altri.
Altri suggerimenti
Penso che potresti aver frainteso il concetto del pacchetto django-tables2
.Il suo scopo è quello di visualizzare i dati tabulari con la possibilità di ordinarli e altre cose di formattazione.Quindi non puoi aggiungere fields in classe tables.Table
, perché si aspetta colonne.
L'elenco delle colonne supportate è disponibile nella documentazione qui: http://django-tables2.readthedocs.org/en/latest/#built-in-Columnns