码迷,mamicode.com
首页 > Windows程序 > 详细

Django中API分析

时间:2017-08-12 11:52:47      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:logs   response   img   font   报文   code   color   res   log   

下面,我将仔细分析一次请求的旅程:

web端发出一个请求报文,到获得服务器的响应报文结束。

1.打开浏览器,输入URL,进入API页面:

http://127.0.0.1:8000/api/salt

技术分享

2.输入命令,按下确认按钮

根据URLconf,由上到下进行匹配,最终将请求报文(request对象)交给cmd方法

url(r‘^api/salt‘,web_views.cmd,name=‘cmd‘),
这里说明一下:request对象有很多属性,其中用的最多的要数POST属性,他是类字典对象的一个实例对象

 这时cmd方法就是一个API,它接受并处理request对象并且返回response对象到html文件

def cmd(request):
	if request.POST:
		command = CommandForm(request.POST)
		a = print(request.POST)
		# host_ip = request.POST.get(‘host_ip‘)
		func = request.POST.get(‘func‘)
		# args = request.POST.get(‘args‘)		
		# command.host_ip = host_ip
		# command.func = func
		# command.args = args
		# command.save()
		result = os.popen(func).read()
		return render(request,‘salt_api.html‘,{‘result‘:result,‘post‘:request.POST,})
	else:
		command = CommandForm()
		return render(request,‘salt_api.html‘,{‘form‘:command})
response对象被送给了html文件

下面就是在html中如何展示response对象

<h3>执行结果:</h3><pre style="background-color: cornsilk; font-family: ‘微软雅黑‘;">{{result|safe}}</pre>
                       <h3>post对象:</h3> <pre>{{post}}</pre>

3.返回响应报文到客户端浏览器

下面使我们看到的浏览器结果

技术分享

好了!以上就是一次请求开始,到获得结果的详细过程!

Django中API分析

标签:logs   response   img   font   报文   code   color   res   log   

原文地址:http://www.cnblogs.com/leomei91/p/7349284.html

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