Django tables2 create an additional column with links

I am trying to add an extra column to one of my tables, which adds the url to another page.

My table:

class ItemTable(tables.Table):
    edit = tables.LinkColumn('item_edit', args=[A('pk')])
    class Meta:
        model = Item
        fields = ('name', 'slot', 'klass', 'rarity', 'price')

my urls are:

url(r'^admin/item/edit/(?P<item_id>\d+)/$', views.item_edit, name='item_edit')

Now with this I get my table, but the last column (edit) has only a dash + page crash when I click on the header.

I looked at http://django-tables2.readthedocs.org/en/latest/#django_tables2.columns.LinkColumn and not sure where I am going wrong

+4
source share
3 answers

, , , LinkColumn Item, .. Item.edit .

Item.edit, edit , :

edit = tables.LinkColumn('item_edit', args=[A('pk')], orderable=False)

Item.edit, , , render_edit :

def render_edit(self):
    return 'Edit'

'Edit' , .

: @SunnySydeUp, empty_values=() , :

edit = tables.LinkColumn('item_edit', args=[A('pk')], orderable=False, empty_values=())

:
http://django-tables2.readthedocs.org/en/latest/pages/order-by-accessors.html#specifying-alternative-ordering-for-a-column http://django-tables2.readthedocs.org/en/latest/pages/custom-rendering.html#table-render-foo-methods

: django-tables2 Django.

+5

, :

def render_edit_link(self,record):
    return mark_safe('<a href='+reverse("edit", args=[record.pk])+'>Edit</a>')

'edit' - URL-.

+5

edit = tables.LinkColumn('item_edit', text='Edit', args=[A('pk')], \
                         orderable=False, empty_values=())

; "" "none" "Edit", .

+2

Source: https://habr.com/ru/post/1535585/


All Articles