我有一个Django管理界面,在模型 list 中,我想要一个自定义列,它将是使用其中一个字段值的超链接.基本上,模型的一个字段是一个url,我希望专栏中有一个可点击的超链接中的该url.此链接将需要有额外的URL作为其在模型字段中的相对路径.

推荐答案

在ModelAdmin类中定义一个方法,并将其allow_tags属性设置为True.这将允许该方法返回未扫描的HTML以显示在列中.

然后在ModelAdmin.list_display属性中将其作为条目列出.

Example:

class YourModelAdmin(admin.ModelAdmin):
    list_display = ('my_url_field',)

    def my_url_field(self, obj):
        return '<a href="%s%s">%s</a>' % ('http://url-to-prepend.com/', obj.url_field, obj.url_field)
    my_url_field.allow_tags = True
    my_url_field.short_description = 'Column description'

有关更多详细信息,请参阅ModelAdmin.list_display的文档.

Django相关问答推荐

Django Prefetch上的多重过滤

覆盖保存以创建范围的多个对象()

错误404除主要应用程序外,HTML页面无法渲染的其他应用程序

过滤查询以获取两个朋友之间的聊天消息?

Pytest-django - 测试创建和传递所需的用户对象

为什么 django 不能相互识别 2 个路径转换器?

将计数字段添加到 django rest 框架序列化程序

如何从 django 模板生成静态 html 文件?

Django SMTPAuthenticationError

手动触发 Django 邮件错误报告

Django - 如何从模型中 Select 特定列?

从表单获取模型实例而不保存

Django 有 SmallIntegerField 的原因是什么?

Django 发送邮箱

Django中reverse()和reverse_lazy()的区别

如何动态访问 Django 模型字段详细名称?

Django admin:使字段在添加中可编辑但不可编辑

Django:根据自定义函数过滤查询

防止 django 管理员转义 html

提供来自 django 的压缩内容