0
点赞
收藏
分享

微信扫一扫

SQL全方位攻略:4. 标准SQL和SQL“方言”

八卦城的酒 2023-05-11 阅读 55

概述

HttpResponse对象是对用户访问的响应,与HttpRequest对象由django创建,HttpResponse对象是由开发人员创建。HttpResponse对象属于django.http模块,可以通过向构造函数传递网页内容的方式来构造HttpResponse实例,在实例化的同时可以指定浏览器对文本的处理方式。

 

用法

属性

Content 表示返回内容的类型

Charset 编码格式

Status_code 响应状态码:200、304、404、500

Content-type 指定输出的mime类型

方法

init 使用页面内容实例化HttpResponse对象

write(content) 以文件的形式写入

flush() 以文件的形式输出

set_cookie(key, val=’’, max_age=None, expire=None)

设置cookie

delete_cookie(key)

删除cookie;注意:如果删除一个不存在的key,什么都没有发生

 

cookie使用

路由

path('testCookie', views.test_cookie, name='testCookie'),

存cookie

def test_cookie(request):
    """ cookie测试 """

    res = HttpResponse('测试cookie')
    res.set_cookie('name', 'this is cookie')

效果

通过 检查->查看网络 当前链接的响应头,可看到增加了一个cookie。

 

取cookie

def test_cookie(request):
    """ cookie测试 """

    res = HttpResponse('测试cookie')

    #res.set_cookie('name', 'this is cookie')

    cookies = request.COOKIES

    res.write("<h1>" + cookies['name'] + "</h1>")

效果

删除cookie

def test_cookie(request):
    """ cookie测试 """

    res = HttpResponse('测试cookie')

    # res.set_cookie('name', 'this is cookie')
    # cookies = request.COOKIES
    # res.write("<h1>" + cookies['name'] + "</h1>")

    res = HttpResponse('删除cookie')
    res.delete_cookie('name')

    return res

 

子类HttpResponseRedirect

功能:重定向,服务器端跳转

重定向路由

# 重定向路由

path('redirect1', views.redirect1, name='redirect1'),
path('redirect2', views.redirect2, name='redirect2'),

重定向视图

from django.http import HttpResponseRedirect


def redirect1(request):
    return HttpResponseRedirect('/myapp/redirect2')

def redirect2(request):
    return HttpResponse('重定向后的视图')

简写redirect(to)

to推荐使用反向解析

from django.http import HttpResponseRedirect
from django.shortcuts import redirect
def redirect1(request):

    # return HttpResponseRedirect('/myapp/redirect2')
    return redirect('redirect2')


def redirect2(request):
    return HttpResponse('重定向后的视图')

子类JsonResponse

返回json数据,一般用于异步请求

__init__(self, data)

Data 字典对象

注意:content-type类型为application/json

引入

from django.http import JsonResponse

使用

def redirect3(request):
    if request.is_ajax():
        info = JsonResponse({'name': '张三', 'gender': '男', 'age': '40', 'hobby': '法律'})
        return info
    else:
        return HttpResponse('不是json请求')
举报

相关推荐

0 条评论