2016-04-26 2 views
0

Я просто прочитал folowing article, и мне бы хотелось получить дополнительную информацию о первом методе, используя TemplateColumn. Я хотел бы создать два псевдо-столбца для редактирования и удаления методов каждой записи.Django_table2 TemplateColumn use

edit.html

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

delete.html

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

Если вы хотите изменить или удалить объект, то вам нужно использовать модель таблицы:

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 

Обратите внимание, как мы используем record.id передать ей идентификатор каждой строки в url тег шаблона в чтобы вывести правильный 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

Я успешно использовал в своих таблицах.py следующую команду attrs = {"class": "paleblue"}, но я хочу использовать два класса, похожие на attrs = {"class": ["paleblue", "table-responsive" "]} для мобильных устройств, но это не работает ??? спасибо – asimkon

+0

Я думаю, что paleblue отличается от классов начальной загрузки - я рекомендую использовать только классы с таблицей-отзывчивой. – Serafeim

 Смежные вопросы

  • Нет связанных вопросов^_^