django如何监控到请求(2023年最新整理)

导读:很多朋友问到关于django如何监控到请求的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!

Python3.7配合Django2.0来调用钉钉(dingding)在线api实时监测员工考勤打卡情况

新冠疫情期间,大多数公司为了避免交叉感染都或多或少的采用了远程办公的方式,这显然是一个明智的选择,基本上钉钉(dingding)作为一个远程办公平台来用的话,虽然差强人意,但是奈何市面上没有啥更好的选择,矬子里拔将军,也还是可以凑合用的,不过远程办公有个问题,就是每天需要检查员工的考勤,居家办公虽然灵活,但是大家究竟有没有办公,则是另外一回事,钉钉提供的解决方案就是考勤在线打卡功能,但是检查出勤钉钉在移动端就有点费劲,需要在钉钉app里点击至少5次,还不能实时刷新,pc端的钉钉oa系统做的更烂,还不如移动端来得方便,另外如果你在一家上千人的企业里,这家企业有大大小小几十个部门,你又非常倒霉的担任这家公司的人事主管,每天按部门来出员工考勤报表就不是一件容易事了,所以利用钉钉开放的接口,使用Django自己打造一套实时监控员工考勤的web平台是我们本次的目的。

项目背景是一家普通科技公司,大概有五个部门,每个部门100人左右

首先进入钉钉开放平台 :open-dev.dingtalk.com

在企业内部开发中,选择小程序,新建一个小程序应用,这里其实也还有别的选择,比如h5微应用,主要是小程序兼容性更好一点。

填写应用的名称、简介、Logo等基本信息这些按下不表,按照要求填写即可,也不必非得填写真实信息,这里有个坑就是一定不要忘了配置安全域名或者ip,安全域名是当我们的检测平台上线的时候部署的域名,应用可以跟指定的域名进行网络通信,如果不配置的话,请求钉钉接口会报403错误。

另外还有一个坑,也就是钉钉默认开放的接口仅限于基础权限接口

如果需要考勤或者签到接口的话,还得单独点击申请,这就有点让人看不懂了,那么多接口,全都得靠用鼠标点击开通,不开通就用不了,这个用户体验真是让人非常酸爽,产品设计成这样,钉钉的pm难辞其咎。

OK,前置准备工作就已经就绪了,现在我们只要根据官方文档来写接口就可以了,选择服务端api文档:

钉钉考勤打卡的接口说明是这样的:

这里每个接口都需要一个access_token用来鉴权,这个token是用id和秘钥通过接口交换回来的,具体在应用详情里可以获取

这里我们封装成方法

搞定了token,还需要获取您的部门下所有员工的员工id,因为考勤接口参数只能接受员工id,而非部门id

最后请求考勤接口即可

完整的后台Django后台接口

这样,就可以愉快的通过线上平台来实时监测部门员工考勤了,效果是这样的:

Django请求与响应(request)与(response)

服务器接收到http协议的请求后,会根据报文创建HttpRequest对象视图函数的第一个参数是HttpRequest对象在django.http模块中定义了HttpRequest对象的API

form标签中的‘GET’和‘POST’

在HTML中,form表单的作用是收集标签中的内容,form.../form 中间可以由访问者添加类似于文本,选择,或者一些控制模块等等.然后这些内容将会被送到服务端。

一个表单必须指定两样东西:

form表单使用get方式提交的例子:

可以看见在地址栏会显示参数。

form表单使用post方式提交的例子:

一键多值的getlist方法:

request对象的属性GET、POST都是QueryDict类型的对象

与python字典不同,QueryDict类型的对象用来处理同一个键带有多个值的情况

GET属性:

View类视图以请求方式为类方法.

在对应的方式下面编写对应的逻辑函数.

就是将视图中的方法以类的方式书写逻辑。

View类视图的引用.

在url.py中配置路由是通过: as_view()

Django在处理文件上传的时候,文件数据被保存在了request.FILES,FILES中的每个键为input type=\"file\" name=\"\" /中的name

设置文件的存储路径:

1.在项目根目录下static中创建media文件夹

2.图片上传后,会被保存到“/static/media/文件”

3.打开settings.py文件,增加media_root项

FILES只有在请求的方法为POST 且提交的form带有enctype=\"multipart/form-data\" 的情况下才会包含数据。否则,FILES 将为一个空的类似于字典的对象

文件上传视图函数:

HttpResponse对象:

HttpResponse的子类:

返回数据的响应函数有:

HttpResponse() 返回简单的字符串对象

render() 渲染模板

redirect() 重定向

JsonResponse() 返回json数据

HTTP协议:

HTTP(超文本传输协议)是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。

客户端和服务器都是怎么记录登录的状态的呢?

浏览器中的----cookie:(请自行查找)

注意:设置cookie值以及删除cookie值都是response对象的操作,而获取cookie是从requeset相应中获得的.

虽然cookie可以保存状态,但注意不要存储敏感信息.

django如何接收android发送的请求,求详细代码

restful接口,给你一个示例吧,是我自己写的论坛App的发评论的代码:

@hybrid_login_required

def post_Comment(request):

    comment = Comment()

    #print dir(dict(request.POST))

    user = request.user

    comment.user=user

    comment.reply=Reply.objects.get(id=request.POST[\"rid\"])    

    form =  CommentForm(request.POST,instance=comment)

    if form.is_valid():

        form.save()

        comment.reply.topic.timestame=datetime.now()

        comment.reply.topic.save()

        return HttpResponse(json.dumps({\"result\":True}),content_type=\"application/json\")

    else:

        #print form.errors

        return HttpResponse(json.dumps({\"result\":False,\"message\":formerror_cat(form)}),content_type=\"application/json\")

django如何监控到请求(2023年最新整理)  第1张

django 获取 POST 请求值的几种方法

1、django获取post过来的多个键值对:

Ajax:

var languages = {};

languages[\'english\'] = [\'mark\', \'james\'];

languages[\'spanish\'] = [\'amy\', \'john\'];

$.ajax({

type: \'POST\',

url: \'/save/\',

data: languages,

dataType: \'json\'

});

Django Views.py

if request.is_ajax() and request.method == \'POST\':

for key in request.POST:

print key

valuelist = request.POST.getlist(key)

print valuelist

---------------------

fiddle:

name=june; age=26;

---------------------

views.py

16 for key in request.POST: 17 print key 18 valuelist = request.POST.getlist(key) 19 print valuelist

----------------------------

Development server is running at Quit the server with CONTROL-C. Your method is POST! name [u\'june\']

age [u\'26\'] [04/Apr/2012 10:58:11] \"POST /getuin/ HTTP/1.1\" 200 20

2、一次加载所有值:

def view_example(request):

data=simplejson.loads(request.raw_post_data)

3、获取多个值作为一个列表

request.POST get multiple values

The QueryDict.getlist() allows to get all the checkbox(or select list) values from the request.POST/GET object.

Let’s assume we have a simple form with the following checkboxes. Each checkbox contains an ID of an artist. 1 form method=\"post\" action=\"\" 2 ... 3 input value=\"1\" name=\"artists\" type=\"checkbox\" 4 input value=\"2\" name=\"artists\" type=\"checkbox\" 5 input value=\"3\" name=\"artists\" type=\"checkbox\" 6 ... 7 /form

In views.py : 1 def handle(request): 2 if request.method == \'POST\': 3 artists = request.POST.getlist(\'artists\') # now artists is a list of [1,2,3]

Django接收并解析post/get请求参数

背景:Django开发api接口,接收前端传来的参数值并解析

POST请求

前端传输JSON格式,\'Content-Type\', \'application/json\'

后端接收解析

GET请求

前端传输JSON格式,\'Content-Type\', \'application/json\'

后端接收解析

结语:以上就是首席CTO笔记为大家整理的关于django如何监控到请求的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~

以上内容为新媒号(sinv.com.cn)为大家提供!新媒号,坚持更新大家所需的互联网后端知识。希望您喜欢!

版权申明:新媒号所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请发送邮件至 k2#88.com(替换@) 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023-09-23 13:43
下一篇 2023-09-23

相关推荐

  • 微信保留定位保留多久时间(微信定位保留多长时间)

    导读:很多朋友问到关于微信保留定位保留多久时间的相关问题,本文新媒号就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧! 微信点一次附近人位置能保留多久 微信打开...

    2023-03-09
  • ajax官方文档?

    如何取消ajax请求的回调 $.ajax返回的数据类型是XMLHttpRequest,请参考手册。 如果返回false可以取消本次ajax请求。 你用json格式 把 string...

    2023-09-23
  • 区块链有虚拟货币吗为什么

    什么是虚拟货币啊? 虚拟货币,是用于电子流通的货币。现在虚拟货币的范围很大了,有Q币、比特币等等。随着数字货币的发展壮大,虚拟货币越来越丰富,可能会发展成未来的主流。 虚拟货币的含...

    2023-09-23
  • 微信可以选哪个名字(2023年最新解答)

    导读:今天新媒号来给各位分享关于微信可以选哪个名字的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧! 有什么好的微信名字? 推荐微信名字醉挽清风。 都说人如其...

    2023-03-09
  • nodejsvue

    nodejs和vuejs的区别 两者的区别是:一个是服务端语言,一个是前端框架。nodejs是一个js运行于服务端的环境,是一个服务端语言;而vue是前端渲染的库,是一个前端框架。...

    2023-09-23
  • 字符串重新赋值(字符串的赋值方法有几种)

    怎么进行字符串赋值?C语言 1、单字符赋值,可通过数组下标方式或指针方式,引用数组元素,进行赋值。 2、在C语言中,字符串是以字符数组形式存储的,并约定以\0作为结束符。所以字符串...

    2023-09-23
  • jquery笔记(jquery重点笔记)

    中国当代最有名的十大作家 1、莫言,中国文学十大作家之一,本名管谟业,出生于1955年,中国当代作家,2012年荣获诺贝尔文学奖。他的代表作有:《红高粱家族》、《檀香刑》、《丰乳肥...

    2023-09-23
  • ai软件应用领域(ai软件的应用领域)

    人工智能在各个领域的应用 1、AIBO机器狗:2017年11月1日,日本索尼公司发布了狗型家用机器人“aibo”。新型“aibo”搭载了人工智能,能够自己靠近主人,发出有个性的叫声...

    2023-09-22
  • 区块链保险有多少?

    区块链保险行业应用 尽管区块链技术在保险行业的应用多处于技术验证阶段,但应用场景的快速发展已然预示着该技术将给保险行业带来变革性的影响。一些IT巨头企业如微软、IBM、甲骨文、阿里...

    2023-03-08
  • 什么是bhb区块链

    bnb怎么购买 1、只有币安,因为BNB属于币安的唯一价值通证,所以要想购买BNB的话必须要去币安平台,bnb币安币是由binance平台发行的代币,其发行总量恒定为2亿个,对外公...

    2023-10-03

发表回复

登录后才能评论