当前位置 : 主页 > 编程语言 > python >

Django视图的响应方式

来源:互联网 收集:自由互联 发布时间:2022-09-29
4 .4.1 设置视图的响应方式 ​ 不同的响应方式对应不同的响应码 ​ HttpResponse(”你好“,status=200)====status 200,以下所有响应的基类 ​ HttpResponseRedirect(”/“)====状态码 302,重定向


4.4.1设置视图的响应方式



不同的响应方式对应不同的响应码


HttpResponse(”你好“,status=200)====status 200,以下所有响应的基类

HttpResponseRedirect(”/“)====状态码 302,重定向

HttpResponsePermanentRedirect(”/“)====状态码 301,永久重定向

HttpResponseBadRequest("400") ====状态码400 访问的页面不存在或者请求错误

HttpResponseNotFound("404") ====状态码404 网页不存在或者url失效

HttpResponseForbidden('403') ====没有访问权限

HttpResponseNotAllowed("405")====不允许使用该请求方式

HttpResponseServerError(”500“)====服务器内部错误

JsonResponse({"name":"joe"})====输出json,状态码200

StreamingHttpResponse()====状态码200,响应内容以流形式输出


                 Django视图的响应方式_局部变量


                 Django视图的响应方式_状态码_02

                 Django视图的响应方式_状态码_03


render(request,template_name,context,content_type,status,using)

request:请求对象

template_name:模板名字

context:对模板上下文进行复制,默认为一个空dict

content_type:响应内容的数据格式,默认即可

status:状态码

using:模板引擎指定

render读取index.html的运行过程:

1 使用loader.render_to_string方法读取模板内容

2 由于模板文件设有模板上下文,因此模板文件解析网页内容的过程需要you模板引擎using实现

3 解析模板文件的过程中,loader.render_to_string的从参数context给模板语法的变量提供具体数据内容 若模板上下文不存在该参数,则对的网页内容为空

4 调用响应类httpresponse,将content(文件解析结果),content_type (响应内容数据格式)和status以参数的形式传入httpresponse中,从而完成响应过程


local()是Python中的一个内置函数,它可以将函数中的局部变量以字典的形式返回local()虽然极其符合python倡导的简便的特性,但是也有一定的局限性,它会将所有的局部变量都进行返回,但有些变量并不是我们所需要的。比如说在Django的视图函数中,我们可能会定义一些中间变量,这些中间变量是不需要被传递的,但是local()也会将它们装入字典中,所以当你需要返回一个函数中的所有变量时,用Local再好不过,但是当你只需要返回某些局部变量的时候,还是老老实实自己构造字典吧!

                 Django视图的响应方式_局部变量_04



                 Django视图的响应方式_局部变量_05


【转自:韩国lg机房 http://www.558idc.com/lg.html欢迎留下您的宝贵建议】
网友评论