如何在django admin中为选定的字段制作“复制到剪贴板”按钮/链接?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在django admin中为选定的字段制作“复制到剪贴板”按钮/链接?相关的知识,希望对你有一定的参考价值。

我使用经典的Django Admin面板。我想为模型中的字段添加按钮/链接。

最简单的方法是什么?

答案

让我向您展示如何使用javascript在Django admin中显示字段旁边的按钮。

首先,您需要知道该字段的html元素id。要了解Chrom / Firefox中元素的id:右键单击输入字段> Inspect Element。

假设我的模型中有一个名为name的字段,其HTML元素id,由Django管理界面指定将是id_name

所以,如果我想在它旁边显示一个按钮,我会编写这个JS脚本:

var $ = django.jQuery;

$(document).ready(function() {
    var myButton = '<button>Copy</button>';
    $(myButton).insertAfter($('#id_name'));
});

将此文件保存在项目的/static/文件夹中。我把它命名为show-copy-btn.js

然后使用class Media将此文件提供给模型管理员的添加/更改页面,如下所示:

class MyModelAdmin(admin.ModelAdmin):
    ...
    class Media:
        js = ('show-copy-btn.js',) 
        # above path is equivalent to /static/show-copy-btn.js
        # if your file in /static/js/ folder, the path above should 
        # be 'js/show-copy-btn.js'

如果您打开模型的添加/更改管理页面,您将在所需字段旁边看到一个按钮。虽然,按钮可能看起来有点难看,但我相信你可以通过一些CSS魔法让它变得漂亮。

希望这个答案能让你开始。在此之后,您可以编写实际“复制到剪贴板”功能的JS代码,并将该代码传递给Django管理员,就像我在上面展示的那样。

注意:此答案不会向您显示如何将文本复制到剪贴板。它只向您展示如何使用JS在Django管理员中显示字段旁边的按钮。

以上是关于如何在django admin中为选定的字段制作“复制到剪贴板”按钮/链接?的主要内容,如果未能解决你的问题,请参考以下文章

Django admin - 如何在自定义管理表单中为多对多字段添加绿色加号

Django admin:将选定的相关字段框更改为自动完成

django admin中的表单字段描述

如何在django中为问题添加多个表单字段类型的选项?

Django:管理员:在管理员中更改字段的小部件

在 Django Admin FilteredSelectmultiple 小部件中预填充选定值