Django框架之视图HttpResponse 对象

这篇具有很好参考价值的文章主要介绍了Django框架之视图HttpResponse 对象。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本篇文章主要内容为:视图中HttpResponse对象的属性、方法及json、redirect子类包含使用cookie使用、跳转、json返回的示例。

概述

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

用法

Django框架之视图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。

Django框架之视图HttpResponse 对象

取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>")

效果

Django框架之视图HttpResponse 对象

删除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文章来源地址https://www.toymoban.com/news/detail-439536.html

引入

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请求')

到了这里,关于Django框架之视图HttpResponse 对象的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Django框架入门到精通(05)Django视图 (黄菊华老师大学生毕业设计学习教程)

    博主介绍: 《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、PPT、论文模版

    2024年02月08日
    浏览(35)
  • Django框架中models对象转换为json的方法

    在django框架中输出api接口时一般都是输出json数据但是通过orm获取的数据库数据一般都是object所以需要转换成json数据,一般有一下3种情况 1.models对象使用“all()”时 2.models对象为单个值\\\"get()\\\"时: 3.models对象使用values或者values_list时:  

    2024年02月08日
    浏览(63)
  • Django视图

    一、url路由 自上而下的,如果匹配的路由中是包含int转换器,则不能匹配其他的不是int的相关字符,譬如文字等; 自定义路由转换器: 1、创建一个converter.py的文件; 2、再写一个类: class FourDigitYearConverter: regex = ‘[0-9]{4}’ # 类属性,一个字符串形式的正则表达式属性 def

    2024年02月05日
    浏览(28)
  • Django之视图

    一)文件与文件夹 当我们设定好一个Djiango项目时,里面会有着view.py等文件,也就是文件的方式: 那么我们在后续增加app等时,view.py等文件会显得较为臃肿,当然也根据个人习惯,这时我们可以使用文件夹的方式: 原本我的views.py中有着这些函数: 现在我在web的app下命名一

    2024年02月07日
    浏览(30)
  • Django - 视图和模板

    视图 - 是具体的业务代码 在 app 下的 views.py 文件中编写代码     为了调用该视图,我们还需要编写urlconf,也就是路由配置。在polls目录中新建一个文件,名字为urls.py(不要换成别的名字),在其中输入代码如下:     接下来,在项目的主urls.py文件中添加urlpattern条目,指

    2024年04月11日
    浏览(26)
  • Django基础3——视图函数

    模块类型 函数释义 http HttpResponse:给客户端返回结果信息。 FileResponse:下载文件。 JsonResponse:返回JSON。 StreamingHttpResponse:响应可迭代对象。 shortcuts render:响应HttpResponse对象,一个快捷函数。 redirect:跳转函数 views generic view 类视图继承的类。 decorators csrf csrf_exempt,csrf_pr

    2024年02月11日
    浏览(23)
  • Django登录注销视图

    Django在身份验证框架中包含了一些你可以直接使用的表单和视图。在大多数情况下,可以使用默认的Django认证视图。 Django在django.contrib.auth.views提供了以下基于类的视图来处理身份验证: LoginView:处理登录表单并登录用户 LogoutView:注销用户 Django提供了以下视图来处理密码修

    2024年01月21日
    浏览(28)
  • Django基础讲解-路由控制器和视图(Django-02)

    参考链接: Django源码阅读:路由(二) - 知乎 Route路由, 是一种映射关系!路由是把客户端请求的  url路径与视图进行绑定  映射的一种关系。 这个/timer通过路由控制器最终匹配到myapp.views中的视图函数 timer 。 在django中所有的路由最终都被保存到一个变量 urlpatterns , urlpatt

    2024年02月07日
    浏览(20)
  • Django 9 常用通用视图分析

    提供基于不同http方法执行不同逻辑的功能。 1. 创建 terminal输入 django-admin startapp the_13回车  2.tutorial子文件夹 settings.py注册一下 3. tutorial子文件夹 urls.py 4. the_13views.py  ctrl + 鼠标左键 点击 View可以看源码里面的View方法 。 as_view方法里面重写了view方法,这个view方法返回dispa

    2024年01月21日
    浏览(32)
  • Django笔记(四):视图views

    视图view处理客户端请求并生成响应数据,可简单认为编写接口的部分。 上述index视图,会返回一个“hello world”的响应。 render返回html,JsonResponse返回json格式(字典),redirect重定向到其他页面,可以是个完整url也可以是某个路由的name,笔记(三)urls中每条路由配置可以设置

    2024年01月19日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包