【问题标题】:In Django, when a UrlField is made read only, it prevents it from rendering as a clickable link. Why?在 Django 中,当 UrlField 设置为只读时,它会阻止它呈现为可点击的链接。为什么?
【发布时间】:2016-06-13 00:55:59
【问题描述】:

在 Django(我们目前使用的是 1.9)中,当我们向模型添加 UrlField 时,管理站点会正确地将 UrlField 值呈现为编辑视图上的可点击链接。

如果我们将此UrlField 标记为只读(通过ModelAdmin readonly_fields 属性),则该值将显示为不可点击的纯文本。

  • 这种行为的原因是什么?
  • 有没有办法在不更改相关表单字段的小部件的情况下解决它?

【问题讨论】:

    标签: django django-admin django-widget


    【解决方案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")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-03
      • 1970-01-01
      • 2021-11-14
      • 2021-11-11
      • 1970-01-01
      • 2021-10-22
      • 2019-11-14
      相关资源
      最近更新 更多