2

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

forms.py で「Animal」モデルを使用すると、入力ボックスが表示されます。ただし、tables.py で同じモデルを使用すると、入力ボックスの代わりに「--」(ダッシュ) が表示されます。

私の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

テキストボックスを手動で指定しようとしましたが、それは役に立ちませんでした:

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

django-tables2 テーブル内にエントリ ボックスを作成するにはどうすればよいですか?

4

2 に答える 2

3

ここで使用可能なソリューションを見つけました。

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

これが他の人にも役立つことを願っています。

于 2013-11-18T16:48:19.303 に答える
0

django-tables2パッケージの概念を誤解している可能性があると思います。その目的は、表形式のデータを並べ替え機能やその他の書式設定機能で表示することです。tables.Tableしたがって、列が必要なため、フォームフィールドをクラスに追加することはできません。

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

于 2013-11-18T16:36:37.400 に答える