我正在开发cmdb应用程序,并试图创建一个指向设备管理页面的链接(django中的/admin/cmdb/device/device_id/) -tables2 LinkColumn ),语法如下:
id = tables.LinkColumn('admin:cmdb:device', args=[A('pk')])这是错误的失败
NoReverseMatch at /cmdb/emp/171/ “‘cmdb”不是“admin”中已注册的命名空间。
(/cmdb/emp/171/ -是表呈现的页面)
如何在LinkColumn参数中向Django管理页写入正确的路径?
这个目标可以通过使用TemplateColumn来实现:
id2 = tables.TemplateColumn('<a href="/admin/cmdb/device/{{record.id}}">{{record.id}}</a>')但是也许有人可以建议如何使用LinkColumn呢?
发布于 2014-12-16 12:59:56
您的问题不是关于LinkColumn,而是关于查找django管理页面的url名称。
无论如何,您可以在这里找到您的答案:https://docs.djangoproject.com/en/dev/ref/contrib/admin/#reversing-admin-urls
因此,如果应用程序的名称是cmdb,而模型的名称是device,则设备编辑页面的url名称将是admin:cmdb_device_change,可以在LinkColumn中使用(也可以在TemplateColumn中使用{% url "admin:cmdb_device_chang" record.id %})。
https://stackoverflow.com/questions/27340512
复制相似问题