前端通过网站得到json_【WEB开发】Django中方便快捷的json响应

news/2024/5/14 4:44:40/文章来源:https://blog.csdn.net/weixin_29050829/article/details/113534463

目前流行的前后端分离开发模式中,前端工程师需要根据后端开发人员给出的API文档发起不同的请求得到数据,API文档规定了一些请求的模板以及响应的数据格式和代码。

通常,前后端约定一些代码以代表一定含义的响应。

在这里,分享一个作者在开发过程中经常使用的一些技巧。

1新建utils文件夹

2新建json_status.py 文件

#导入模块
from django.http import JsonResponse

django 提供了一个jsonResponse方法,可以返回一个标准的json响应。

3创建一个 Code 的类

class Code:ok = 2params_error = 1un_auth_error = 403server_error = 500

返回不同状态的响应代码

4创建一个标准的json响应函数

def result(code = Code.ok,message = '',data = None,**kwargs):json_dict = {"code":code, 'msg':message,"data":data}if kwargs and isinstance(kwargs,dict):json_dict.update(kwargs)return JsonResponse(json_dict)

在这里,通过定义result函数,封装一些常用的响应字段,例如响应的代码,信息,数据,可供前端使用。

**kwargs:熟悉Python的朋友一定不会陌生,这是Python中经典的使用,可以向函数中传入不定长的参数。

5创建更丰富的json响应函数

ef params_error(message='',data=None):'''参数错误:param message:传给前端的信息:param data: 传给前端的数据,字典类型:return: Json响应'''return result(code=Code.params_error,message=message,data=data)def un_auth_error(code=Code.un_auth_error,message='',data=None):'''权限错误:param code::param message::param data::return:'''return result(code,message=message,data=data)def server_error(code = Code.server_error,message='',data=None):'''服务器错误:param code::param message::param data::return:'''return result(code,message=message,data=data)

上面我们创建了一系列的json响应函数,下面我们演示如何在视图函数中使用。

6在视图中响应使用响应函数

#首先导入
from utils import json_status#创建一个视图函数
def index(request):id = int(request.GET.get("id"))if id ===1:return json_status.result(message='成功')else:return json_status.params_error(message='参数错误')

通过GET方法,获取到的id的值,判断id。

如果id=1 则返回成功的响应

如果id为其他值,则返回参数错误的响应

在前端中(以ajax为例)

            $.ajax({type: get,url: url,data: {"id":1},success: function (result) {if (result.code ==2) {alert(result.message);});} else{alert(result.code);alert(result.message);}return;}});

通过上述方法,可以返回一个标准的json响应。前端根据不同的响应代码,进行操作。

欢迎关注我的专栏:生动讲解编程知识
更多内容:kevinguocn@foxmail.com
我的网站:http://www.kevinguo.cn
QQ:876798594

e35d4b7f55cebb0a8d0523efe5b25780.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_798964.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 文件上传漏洞_网站漏洞修复之UEditor漏洞 任意文件上传漏洞

UEditor于近日被曝出高危漏洞,包括目前官方UEditor 1.4.3.3 最新版本,都受到此漏洞的影响,ueditor是百度官方技术团队开发的一套前端编辑器,可以上传图片,写文字,支持自定义的html编写,移动端以…

linux服务器网站php无法访问,linux服务器无法远程连接

1、查看SSH是否安装(检查是否装了SSH包)输入命令:rpm -qa | grep ssh如下如所示系统已经默认安装了SSH:若没有安装,则输入:yum install openssh-server进行安装。在线视频教程推荐:linux视频教程2、查看SSH服务是否运行…

Java开源建站工具

http://www.ruanyifeng.com/blog/2011/08/opensource_java_web_development_tools.html 作者: 阮一峰 日期: 2011年8月11日 美国程序员Jon Scott Stevens,公布了他的创业公司所使用的开发工具清单。 他的语言平台是Java,开发项目是…

10个学习Android开发的网站推荐

1. Android Developers 作为一个Android开发者,官网的资料当然不可错过,从设计,培训,指南,文档,都不应该错过,在以后的学习过程中慢慢理解体会。 2. Android Guides - CodePath CodePath是国外一…

树莓派lnmp安装mysql_树莓派上的lnmp,建立网站》解决phpmyadmin无法访问树莓派上mysql的问题...

本篇主要记录lnmp的搭建过程,以及遇到的问题。解决phpmyadmin无法访问树莓派上mysql的问题时间2018年2月11日使用wordpress 可道云 等开源软件作为网站程序。网站的运行环境是lnmp,它是 linux nginx mysql php的缩写。注意:(首先: nginx安装完成后网页可…

PHP授权查询地址,PHP网站域名授权系统正版授权查询系统网站授权加密系统带自助授权查询...

资源介绍PHP网站域名授权系统正版授权查询系统网站授权加密系统带自助授权查询,主要修复了前一版本的BUG,增加管理员登录安全码,增加服务器IP域名双重授权模式!域名服务器IP授权模式 授权顶级域名后 其他二级域名均可使用。目前几乎可以运用到…

html网页如何上线,从零开始上线网站的日常(二)— 第一次上线

上一章:从零开始上线网站的日常(一)— 前后端分离网站本地调通本章目标:在云服务器上线上一章完成的网站时间:2019.05.13零. 步骤项目打包云服务器环境部署(JDK & Nginx)项目部署部署脚本编写一. 项目打包1. 前端项目打包前端项目打包比较…

分享高性能ASP.NET网站的系统架构设计

大型动态应用系统平台主要是针对于大流量、高并发网站建立的底层系统架构。大型网站的运行需要一个可靠、安全、可扩展、易维护的应用系统平台做为支撑,以保证网站应用的平稳运行。 大型动态应用系统又可分为几个子系统: Web前端系统负载均衡系统数据…

假如我来架构12306网站(一) - 概论

序言: 此文的撰写始于国庆期间,当中由于工作过于繁忙而不断终止撰写,最近在设计另一个电商平台时再次萌发了完善此文并且发布此文的想法,期望自己的绵薄之力能够给予各位同行一些火花,共同推进国内的大型在线交易系统…

企业网站推广的方法有哪些?

摘要: 网站推广就是以互联网为基础,借助平台和网络媒体的交互性来辅助营销目标实现的一种新型的市场营销方式。当前传播常见的推广方式主要是在各大网站推广服务商中通过买广告之类等等方式来实现,免费网站推广包括:SEO优化网站内…

网站设计如何兼顾优化?

开发十年,就只剩下这套Java开发体系了 >>> 网站设计除了设计网站的外观和风格以外,同时还要编写前端的代码,网站设计用描述性的标签来组织页面结构,可以提高内容对搜索引擎的可读性,有利于网站优化&#x…

通过避免下列 10 个常见 ASP.NET 缺陷使网站平稳运行(转载)

LoadControl 和输出缓存会话和输出缓存Forms 身份验证票证生存期视图状态:无声的性能杀手SQL Server 会话状态:另一个性能杀手未缓存的角色配置文件属性序列化线程池饱和模拟和 ACL 授权不要完全信赖它 — 请设置数据库的配置文件!ASP.NET 成…

做一个网站需要多少花费?

我是今年清明节(4.5)之后开始做自己的网站,这周(6.20号左右)网站正式上线。由于在上班,利用下班时间和周末,陆陆续续做了3个月,勉强做了个能打开,有内容(对&a…

搭建自己的ebook网站

2019独角兽企业重金招聘Python工程师标准>>> 搭建自己的电子书网站 下载代码方式: githubgitee项目介绍 项目使用spring-boot开发,使用maven主要分为manager,common,client模块。 manager 管理模块 参考 client 客户端…

注册网站域名多少钱_网站注册域名要知道什么?注意什么?

网站注册域名要知道什么?注意什么?网站注册域名的问题咱们聚名网已经跟大家说了很多了,但是注册好域名之后,接下来该做哪些,咱们聚名网还没和大家细细的说,一般网站注册好之后需要做哪些事情呢?…

iis网站属性在哪_IIS在使用URL Rewrite 重写的时候由于目标服务器响应时间长,导致出现502问题解决...

按照正常来说,再iis网站界面会有一个application requestrouting cache 的 icon, 可以点击 设置timeout 但是这里没有显示找到了 官方说明可以用命令行解决这个问题https://blogs.iis.net/richma/502-3-bad-gateway-the-operation-timed-out-with-iis-ap…

网站可行性报告范文_孝感做可行性报告本地立项范文

孝感做可行性报告本地立项范文 公司名称: 环建工程有限公司 公司介绍: 环建工程有限公司致力于发展成为一家业界的化服务公司,专注于为客户提供化的服务。主要经营范围项目建议书、可行性报告、资金申请报告、项目申请报告、商业计划书、计划…

springboot访问静态页面404_网站404是什么原因,网站404怎么解决

404对于SEO的影响是非常严重的。一旦处理不当网站就会被K,轻微的是降权。所以死链接的处理一定要用正规的处理方式。而更加重要的就是预防404,因为企赢SEO优化那么多网站从来没有出现过死链接这东西。首先我们要知道404出现的原因有哪些,才能…

5个在线资源搜索网站,用的人求生欲很强!

分享5个平时经常用的在线资源搜索网站,只有你想不到没有你找不到的资源!一起来了解下吧! 西林街搜索http://www.xilinjie.com/ 强烈推荐的资源搜索网站:视频、文库(文档、古籍、专业书籍、电子书[PDF、ePub、Mobi等格…

这6个免费精品自学网站,提升能力让你月薪2w(值得收藏)

学习是我们一辈子的事情,永远不会毕业的,我们只有不断的学习,不断的提升自己,才能成为人上人,这时候肯定有人会问,那么应该如何学习呢?我认为这取决于三颗心:"一信心、二决心、…