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?

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top