Question

Je voudrais créer un tableau avec plusieurs colonnes qui affichent des données existantes, et une colonne qui contient une zone de texte où je peux les données d'entrée.

Lorsque j'utilise mon "Animal" de modèle dans ma forms.py je vois des boîtes de saisie.Cependant, lorsque j'utilise le même modèle dans mon tables.py je vois un '--' (tirets) au lieu de l'entrée des boîtes.

Mon models.py:

class Animal(models.Model):
    specie = models.CharField(max_length=20)
    count = models.CharField(max_length=20)

mon forms.py:

class AnimalForm(forms.ModelForm):
    class Meta:
        model = Animal

mon tables.py:

class AnimalTable(tables.Table):
    class Meta:
        model = Animal

J'ai même essayé de spécifier manuellement une zone de texte, mais cela n'a pas aidé:

class AnimalTable(tables.Table):
    count = forms.Textarea()
    class Meta:
        model = Animal

Comment créer une zone de saisie à l'intérieur d'un django-tables2 table?

Était-ce utile?

La solution

J'ai trouvé une solution utilisable ici .

TEMPLATE = """
<input id="count" maxlength="100" name="count" type="text"/>
"""
class AnimalTable(tables.Table):
    count = tables.TemplateColumn(TEMPLATE)
    class Meta:
        model = Animal

J'espère que cela se révélera utile pour les autres aussi.

Autres conseils

Je pense que vous avez mal compris le concept de la django-tables2 package.Son but est d'afficher des données tabulaires avec la possibilité de les trier et de certains autres mise en forme des choses.Afin de vous juste ne peux pas ajouter formfields en tables.Table de la classe, car il attend les colonnes.

La liste des colonnes est disponible dans la documentation ici: http://django-tables2.readthedocs.org/en/latest/#built-in-columns

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top