как визуализировать данные внутри ajax-modal на панели инструментов openstack horizon?

Я новичок в Python Django. согласно руководству openstack по настройке горизонтальной панели инструментов, я успешно добавил новую панель, вкладку с данными. Я также добавил действия таблицы в класс таблицы, которые открывают ajax-modal. но вместо формы рендеринга внутри мне нужно рендерить данные, которые должны ощущаться с помощью ajax-response. каждая строка содержит элемент ввода формы (например, текст, радио). но я не мог понять, как отображать данные внутри ajax-modal.

посмотрите, пожалуйста, на tables.py

class AddSwitch(tables.LinkAction):
name = "addswitch"
verbose_name = _("Add Switch")
url = "horizon:project:sdncontroller:addswitch"
classes = ("ajax-modal", "btn-create",)

class Switches(tables.DataTable):
dpid = tables.Column("dpid",verbose_name=_("DPID"))
address = tables.Column('address', verbose_name=_("Address"))
vendor = tables.Column('vendor', verbose_name=_("Vendor"))
packets = tables.Column('packets', verbose_name=_("Packets"))
bytes = tables.Column('bytes', verbose_name=_("Bytes"))
flows = tables.Column('flows', verbose_name=_("Flows"))
connectedsince = tables.Column('connectedsince', verbose_name=_("ConnectedSince"))
detail= tables.Column('details', verbose_name=_("Detail"))

class Meta:
    name = "Switches"
    verbose_name = _("Switches")
    table_actions = (AddSwitch,)

также я создал workflows.py и создаю класс для AddSwitch

class AddSwitch(workflows.Workflow):
slug = "addswitch"
name = _("Add Switch")
finalize_button_name = _("Add")
success_message = _('Added switch "%s".')
failure_message = _('Unable to add switch "%s".')
success_url = "horizon:project:sdncontroller:index"
default_steps = (AddSwitchStep,)

def format_status_message(self, message):
    name = self.context.get('name')
    return message % name

def handle(self, request, context):
    try:
        #api.lbaas.pool_create(request, **context)
        return True
    except Exception:
        return False

это точка, в которой я застрял. Я не знаю, как кодировать и где кодировать для рендеринга данных, и это тоже динамически заполняется через ajax-response.

Спасибо, я надеюсь, что кто-нибудь сможет меня на это подвести.


person Jaydipsinh    schedule 22.02.2014    source источник


Ответы (1)


Вы забыли упомянуть атрибут "столбцы" в мета-классе класса. Следуйте механизму, который в настоящее время используется Horizon для отображения таблицы данных «Экземпляры». Вы можете найти подробное пошаговое руководство по созданию и визуализации таблицы данных здесь: http://docs.openstack.org/developer/horizon/topics/tutorial.html

Надеюсь, это поможет

person YBathia    schedule 12.03.2014