0
我需要提供一個對象列表,如果點擊它,將您帶到Django Admin中的對象詳細信息頁面。 URL鏈接需要有ID,實際可點擊的是產品的名稱。對多個參數使用Django Reverse
本來,我硬編碼的URL路徑本身,而是能得到鏈接中的ID和名稱:
return "<a href='/admin/content/product/%s'>%s</a>" % (str(obj.id), obj.product_name)
顯示在CMS:MyProductName
爲可點擊的鏈接,這將轉到產品ID X。
由於硬編碼URL會在生產中破壞應用程序,因此我試圖使用reverse
。我試圖複製上面:
return reverse("admin:content_product_change", args=[str(obj.id), obj.product_name])
,但得到的錯誤:
NoReverseMatch: Reverse for 'content_product_change' with arguments '('1', u'ProductName')' and keyword arguments '{}' not found. 1 pattern(s) tried: [u'admin/content/product/(.+)/$']
的'reverse'函數不會返回整個''標籤,它只會返回路徑。你應該像使用'return'%s「%(反向(」admin:content_product_change「,args = [str(obj.id)]),obj.product_name)' –
@CésarBustíos這似乎並不直觀,但感謝您!作爲回答發佈,我會接受 – Growler
你應該在模板中呈現HTML而不是在視圖 –