質問

既存のデータを表示する複数の列を持つテーブルと、データを入力できるテキストボックスを含む1つの列を作成します。

私のForms.pyで私の「動物」モデルを使うとき、私は入力ボックスを見ます。ただし、Tables.pyで同じモデルを使用すると、入力ボックスの代わりに ' - '(ダッシュ)が表示されます。

My Models.py:

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

私のForms.py:

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

私のTables.py:

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

手動でTextBoxを指定しようとしましたが、それは役に立ちませんでした:

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パッケージの概念を誤解しているかもしれないと思います。その目的は、それらを並べ替える能力とその他のフォーマットのものを持つ表形式のデータを表示することです。そのため、列の列を期待するため、FormFieldsをtables.Tableクラスに追加することはできません。

サポートされている列のリストは、ここでのドキュメントで利用できます。 http://django-tables2.readthedocs.org/en/latest/#built-in-columns

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top