django HttpResponse对象

HttpResponse对象
        概述:
            作用:给浏览器返回数据
            HttpRequest对象是由Django创建的,HttpResponse对象是由程序员创建
        用法:
            不用模板,直接返回数据
                语句示例:return HttpResponse("Sunck is a good man")
            调用模板
                使用render方法
                    原型:render(request, templateName[, context])
                    作用:结合数据和模板,返回一个完整的HTML页面
                    参数:
                        request:请求体对象
                        templateName:模板路径
                        context:传递给需要渲染在模板上的数据
        属性
            content:表示返回内容
            charset:编码格式
            status_code:响应状态码
                200
                304
                404
                400
            content-type:指定输出的MIME类型
        方法
            init:使用页面内容实例化HttpResponse对象
            write(content):以文件的形式写入
            flush():以文件的形式输出缓冲区
            set_cookie(key, value, maxAge=None, exprise=None)
            delete_cookie(key):
                删除cookie
                如果删除一个不存在的cookie,就当什么都没发生
        子类HttpResponseRedirect
            功能:重定向,服务器端的跳转
            简写
                redirect(to)
            to推荐使用反向解析
            示例:
                from django.http import HttpResponseRedirect
                from django.shortcuts import redirect
                def redirect1(request):
                    # return HttpResponseRedirect(‘/redirect2‘)
                    return redirect(‘/redirect2‘)
                def redirect2(request):
                    return HttpResponse("我是重定向后的视图")
        子类JsonResponse
            返回Json数据,一般用于异步请求
            __init__(self.data)
            data 字典
            注意:Content-type类型为application/json
    状态保持
        http协议是无状态的,每次请求都是一次新的请求,它不记得之前的请求。
        客户端与服务器的一次通信就是一次会话
        实现状态的保持,在客户端或服务端存储有关会话的数据
        存储的方式
            cookie:所有数据存储在客户端,不要存储敏感的数据
            session:所有的数据存储在服务端,在客户端用cookie存储session_id
        状态保持的目的:
            在一段时间内跟踪请求者的状态,可以实现跨页面访问当前的请求者的数据
        注意:不同的请求者之间不会共享这个数据,与请求者一一对应
        启用session:project\project\settings.py
            INSTALLED_APPS    ‘django.contrib.sessions‘,
            MIDDLEWARE    ‘django.contrib.sessions.middleware.SessionMiddleware‘,
        使用session
            启用session后,每个httpRequest对象都有一个session属性
            get[key, default=None]    根据键获取session值
            clear()    清空所有会话
            flush()    删除当前会话并删除会话的cookie
            示例:
                # session
                def main(request):
                    # 取session
                    username = request.session.get(‘name‘, ‘游客‘)
                    print(username)
                    return render(request, ‘myApp/main.html‘, {‘username‘: username})

                def login(request):
                    return render(request, ‘myApp/login.html‘)

                def showmain(request):
                    print("*****************")
                    username = request.POST.get(‘username‘)
                    # 存储session
                    request.session[‘name‘] = username
                    return redirect(‘/main/‘)

                from django.contrib.auth import logout
                def quit(request):
                    # 清除session
                    logout(request) # 方法1,推荐
                    # request.session.clear() # 方法2
                    request.session.flush() # 方法3
                    return redirect(‘/main/‘)
        设置session过期时间
            set_expiry(value)
            request.session.set_expiry(10)  设置为10秒后过期
            如果不设置,2个星期后过期
            value设置为0代表关闭浏览器时过期
            value设置为None代表设置永不过期,不推荐

原文地址:https://www.cnblogs.com/superxuezhazha/p/10356766.html

时间: 2024-10-15 09:22:24

django HttpResponse对象的相关文章

Django中视图总结[urls匹配,HttpRequest对象,HttpResponse对象,对象序列化接受及案例]

视图的功能: 接收请求,进行处理,返回应答. 视图返回的内容为: HttpResponse的对象或子对象 render 返回的是HttpResponse的对象 JsonResponse是HttpResponse的子类 HttpResponseRedirect也是HttpResonse的子类 redirect是HttpResponseRedirect的一个简写 总结:所以视图返回的内容一般为:render,redirect,JsonResponse,Httpresponse 定义视图函数分为两步

Django中的HttpRequsest 和Httpresponse对象

HttpRequest对象:每一个用户请求在到达视图函数的同时,django会自动创建一个HttpRequest对象并把这个对象当做第一个参数传给要调用的views方法,HttpRequest对象里封装了本次请求所涉及的用户浏览器端数据.服务器端数据等,在views里可以通过request对象来调取相应的属性.其中用户的get和post请求是以键值对的形式传递给request对象的,request也是以键值对的形式进行封装. HttpResponse对象:与由Django自动创建的HttpReq

Django框架(九):视图(二) HttpRequest对象、HttpResponse对象

1. HttpRequest对象 服务器接收到http协议的请求后,会根据报文创建HttpRequest对象,这个对象不需要我们创建,直接使用服务器构造好的对象就可以.视图的第一个参数必须是HttpRequest对象,在django.http模块中定义了HttpRequest对象的API. 1.1 属性 path:一个字符串,表示请求的页面的完整路径,不包含域名和参数部分. method:一个字符串,表示请求使用的HTTP方法,常用值包括:'GET'.'POST'. 在浏览器中给出地址发出请求采

Django HttpResponse与JsonResponse对象

一:HttpResponse对象介绍 前面一节课讲到的HttpRequest用于接受客户端发送到服务器的内容,封装成一个HttpRequest对象: 那么服务器视图函数在处理相关逻辑后,也需要返回给我们的客户端. HttpResponseBase或者它的子类就是返回给客户端的对象:而HttpResponse则是HttpResponseBase用得最多的子类: 二:HttpResponse常用属性 1. content:返回的内容. 2. status_code:返回的HTTP响应状态码. 3.

Django HttpResponse

HttpResponse 概述:给浏览器返回数据 HttpRequest对象是由django创建的,HttpResponse对象由程序员创建 用法 1:不调用模板,直接返回数据. 例: def getxob(request): return HttpResponse('xob') 2:调用模板 使用render方法 原型 render(request,templateName[,context]) 作用 结合数据和模板,返回一个完整的HTML页面 参数 request 请求体对象 templat

HttpResponse对象

为了响应客户端的请求,同样定义了代表响应的类:HttpResponse类,它也定义在命名空间System.Web下,提供向客户端响应的方法和属性. HttpResponse常用属性和方法 响应对象用于向浏览器发回服务器处理的结果,这个结果是Http协议中的响应消息.这个消息中包含:状态行,头部,主体部分. StatusCode:用于设置状态码,例如:200,500等等 StatusDescription:状态的描述信息. Status:可以直接设置状态行的内容,例如:200 OK 对于响应的头部

django的HttpResponse对象

服务器接收到http协议的请求后,会根据报文创建HttpRequest对象,这个对象不需要我们创建,直接使用服务器构造好的对象就可以.视图的第一个参数必须是HttpRequest对象,在django.http模块中定义了HttpRequest对象的API 属性 下面除非特别说明,属性都是只读的. path:一个字符串,表示请求的页面的完整路径,不包含域名和参数部分. method:一个字符串,表示请求使用的HTTP方法,常用值包括:'GET'.'POST'. 在浏览器中给出地址发出请求采用get

19 01 19 视图 HttpReqeust对象 GET属性 POST属性 HttpResponse对象

---恢复内容开始--- URLconf 义,指定URL和视图函数的对应关系. 在应用内部创建urls.py文件,指定请求地址与视图的对应关系. url(正则,'视图函数名称') 1)如示例在booktest/urls.py中创建首页的url,代码如下 from django.conf.urls import url from booktest import views urlpatterns=[ url(r'^$',views.index), ] 2)如示例在booktest/views.py

Python - Django - request 对象

request.method: 获取请求的方法,例如 GET.POST 等 views.py: from django.shortcuts import render, HttpResponse # request 对象 def test(request): print(request.method) return render(request, "test.html") 访问页面 可以通过 request.method 查看请求方式 request.GET: 用来获取 URL 里面的