2016-02-29 47 views
2

在Django(我們當前使用1.9)中,當我們向模型添加UrlField時,Admin站點正確地將UrlField值呈現爲編輯視圖上的可點擊鏈接。在Django中,當UrlField被設爲只讀時,它會阻止它呈現爲可點擊的鏈接。爲什麼?

如果我們要將此UrlField標記爲只讀(通過ModelAdminreadonly_fields屬性),則該值將顯示爲不可點擊的純文本。

  • 什麼是這種行爲的基本原理?
  • 有沒有辦法解決它而不更改相關表單域的窗口小部件?

回答

1

我想這只是readonly_fields顯示原始內容(使用__str__()方法)沒有任何部件。

若要它身邊,你會做這樣的事情:

class MyAdmin (ModelAdmin): 
    readonly_fields = ['myurl_link'] 

    def myurl_link(self, instance): 
     return format_html('<a href="{url}" target=_blank>{url}</a>', url=instance.myurl) 
    myurl_link.short_description = _("Website") 
相關問題