Djnago 的 Models 里添加扩展字段,在编辑界面里的字段内容以链接方式实现的方法
先来看一个例子,该例子是让其在编辑界面里添加了个字段,其字段内容为搜索同姓氏人员的一个链接,该实现是在 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 技术交流群。
上一篇: 修改 Django 后台题头、标题名称
下一篇: 彻底找到 Tomcat 启动速度慢的元凶
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论