2016-04-26 5 views
0

私はちょうどfolowing articleを読みました。私はTemplateColumnを使った最初の方法についてもっと知りたいと思います。私は各レコードの編集と削除のための2つの擬似列を作成したいと思います。Django_table2 TemplateColumn usage

edit.html

> <a href="{% url some_url_edit record.pk %}" class="tbl_icon 
> edit">Edit</a> 

delete.html DBに存在しない

> <a href="{% url some_url_del record.pk %}" class="tbl_icon 
> delete">Delete</a> 

2疑似列

クラスMyTableという(tables.Tableを):
column_edit = tables.TemplateColumn(edit.html) column_delete = tables.TemplateColumn(del ete.html)

これは、どのようにrecord.pkがすべてのテンプレートに渡されてそのキーに関する必要な情報を取得するのかという記事によれば正しいですか?

答えて

0

オブジェクトを編集または削除したい場合、あなたは、モデルのテーブルを使用する必要があるだろう:私たちは中urlテンプレートタグにそれを各行のIDを渡すためにrecord.idを使用する方法

class MyModelTable(tables.Table): 
    name = tables.columns.Column() 
    edit = tables.TemplateColumn('<a href='{% url "edit_my_model_instance" record.id %}'>Edit</a>', verbose_name=u'Edit',)  
    delete = tables.TemplateColumn('<a href='{% url "del_my_model_instance" record.id %}'>Delete</a>', verbose_name=u'Delete',)  

    class Meta: 
     model = models.MyModel 

をお知らせ正しい編集/削除URLを出力してください。

+0

リンクテキストの代わりにリンクイメージをverbose_nameで表示したい場合はどうすればいいですか?クラスのどこかに配置し、このコードで上に定義する方法を教えてください。 – asimkon

+0

TemplateColumnを使用すると、必要なものを表示できます。たとえば、編集テキストの代わりに画像を表示したい場合は、 'edit = tables.TemplateColumn( ''、verbose_name = u'Edit '、)' – Serafeim

0

私はあなたのコードは、誰かが列内の画像を適切に取得、表示するには、以下のコマンドを使用する必要がありますように、ビット故障していると怖いです: edit = tables.TemplateColumn('<a href="{% url "edit_division" record.pk %}"><img src=\'{% load staticfiles %} {% static "images/edit.jpg" %}\'/width="25"></a>',verbose_name=u'Edit',)

delete = tables.TemplateColumn('<a href="{% url "delete_division" record.pk %}"><img src=\'{% load staticfiles %} {% static "images/delete.jpg" %}\'/width="25"></a>',verbose_name=u'Delete',) 

私が内部使用することができればお願いしたいと思います列とデータテーブルのより良いレンダリングのためのtables.py bootstrap css?

+0

を使用できます。 'class = 'table''をテーブルの' Meta'に渡します。 – Serafeim

+0

私は正常に私のtables.pyの次のコマンドを使用attrs = {"class": "paleblue"}、しかし私はattrs = {"class":["paleblue"、 "table-responsive "]}フレンドリーな携帯用ですが、動作しません???ありがとう – asimkon

+0

私はpaleblueがブートストラップクラスとは違うと思います。私は "テーブルテーブル対応"クラスだけを使用することをお勧めします。 – Serafeim