2014-12-07 48 views
0

我正在開發cmdb應用程序,並試圖創建一個鏈接到設備的管理頁面(/ admin/cmdb/device/device_id /)在django-tables2 LinkColumn中使用以下語法:django-tables2和LinkColumn。正確的路徑到Django的管理網站頁面

id = tables.LinkColumn('admin:cmdb:device', args=[A('pk')]) 

這種失敗,錯誤

NoReverseMatch在/ CMDB/EMP/171/

'CMDB' 不是 '管理員'

內註冊的命名空間

(/ CMDB/EMP/171/- 是該表呈現的頁面)

我怎麼能寫在LinkColumn參數Django管理頁面的正確路徑?


的目標可以通過使用TemplateColumn中實現:

id2 = tables.TemplateColumn('<a href="/admin/cmdb/device/{{record.id}}">{{record.id}}</a>') 

但可能有人能告訴我如何使用LinkColumn?

回答

2

你的問題不是關於LinkColumn,而是關於找出django管理頁面的網址名稱。

在任何情況下,你可以在這裏找到答案: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 %})。

+0

謝謝!這就是我需要的! – Leo 2014-12-20 11:15:14