Djnago 的 Models 里添加扩展字段,在编辑界面里的字段内容以链接方式实现的方法

发布于 2024-10-21 21:41:08 字数 1012 浏览 7 评论 0

先来看一个例子,该例子是让其在编辑界面里添加了个字段,其字段内容为搜索同姓氏人员的一个链接,该实现是在 models.py 里实现的

# models.py
from django.utils.html import format_html
class Staff(models.Model):
...
def seek_same(self):
"""
编辑界面里的扩展字段的内容以链接方式实现的方法
"""
return format_html('<a href="../../staff/?first_name__exact={}" target="_blank">{}</a>',
self.first_name,
self.first_name)
seek_same.short_description = '同姓氏人员' # 短描述:即字段名
# 显示 HTML tag
# 对于用户提交的数据, 永远不要这么设置!
seek_same.allow_tags = True

这里定义了一个 def seek_same(self): 的回调函数,用于返回一个扩展字段的内容,由于字段内容的回显会做转码处理,所以在这里我们需要用到一个 format_html() 函数,用来直接转成 html 格式。

format_html() 函数第一个参数为模板字串,模板字串里的变量以”{}”标识,按位置依次与第二个参数及其后的参数对应。

另外一种是实现在列表里添加扩展列的实现方式,是在 admin.py 里实现的,可以参考 Django 后台列表添加扩展列,字段内容以链接方式实现的方法

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

美羊羊

暂无简介

0 文章
0 评论
22 人气
更多

推荐作者

qq_E2Iff7

文章 0 评论 0

Archangel

文章 0 评论 0

freedog

文章 0 评论 0

Hunk

文章 0 评论 0

18819270189

文章 0 评论 0

wenkai

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文