码迷,mamicode.com
首页 > 其他好文 > 详细

关于在django框架中在admin页面下添加自定义按钮并实现功能

时间:2021-06-13 09:49:15      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:了解   脚本   context   教程   一段   print   update   复杂   url   

关于如何在django中admin页面下添加自定义按钮并实现功能
最近使用Django的admin页面开发了一个产品信息管理系统,由于需求的不断增加,需要在admin页面自定义一些按钮,并通过request请求,触发后端的一下脚本程序,实现某些特定的功能。首先声明一下:本程序是基于django 2.2.16版本进行开发的,过低的版本不知道是否能够实现。

首先修改admin页面
对于网上的教程,相信不少需要增加此功能的程序员已经看过相关的文章了,但是通过对比网上的一些教程来说,一般都会需要修改admin自带的 HTML 文档,但是我个人觉得,这种方法对于一些新手程序员,尤其像本人这种,没有多少经验,稍有不慎就会发生莫名奇妙的问题,而且很难排查,浪费时间。
下面正式开始介绍:
首先在 admin.py 中定义一个功能函数,我这里起名叫 operator ,此函数中使用 format_html 方法返回一个 a 标签,在 href 中加入你需要的链接地址,具体代码如下:

def operator(self, obj):
return format_html(
‘<a href="/update_data/">更新<a/>‘
)

operator.short_description = ‘数据更新‘
1
2
3
4
5
6
写完后,需要将 operator 放入,list_display 列表中,以此来达到显示的目的;下面需要将 你在href中定义的链接,在 url.py 中进行定义:

urlpatterns = [
path(‘update_data/‘, update_pdaq),
]
1
2
3
后面需要根据你定义的 在views.py 中定义相关的功能函数:

def update_pdaq(request):
if request.META:
# print(request.META)
status = start_main()
context = {
‘status‘: status
}
return render(request, ‘update.html‘, context=context)
1
2
3
4
5
6
7
8
上图中 start_main() 则是我自己定义的一个python脚本,在程序执行完成后,脚本会返回一个结果,

return ‘数据更新完毕,请登录查看结果!‘
1
后面需要自己新建一个update.html文件,将结果传入到这个 HTML文档中,

{{ status }}
1
这样,在程序执行完成后,该结果就可以显示在前端页面中。
上述方法,新手程序员可能会感觉比较复杂,但当你真正的了解 Django原理之后,其实每一个请求都是沿着上述的思路进行的,所以一定要有足够的耐心,将每一段代码试着敲一下,总会得到自己想要的结果。
————————————————
版权声明:本文为CSDN博主「奋斗的小飞侠」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45543571/article/details/115705967

关于在django框架中在admin页面下添加自定义按钮并实现功能

标签:了解   脚本   context   教程   一段   print   update   复杂   url   

原文地址:https://www.cnblogs.com/hushuning/p/14877727.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!