zoukankan      html  css  js  c++  java
  • django之定义统一返回数据格式与GET/POST装饰器

    1. 为了返回给网页前端的格式统一,定义一个通用的插件类,返回统一格式数据

    # enconding:utf-8
    """
    定义一个插件类,
    """
    from django.http import JsonResponse,HttpResponse
    
    # 自定义状态码
    class HttpCode(object):
        # 正常登陆
        ok = 200
        # 参数错误
        paramserror = 400
        # 权限错误
        unauth = 401
        # 方法错误
        methoderror = 405
        # 服务器内部错误
        servererror = 500
    
    
    # 定义统一的 json 字符串返回格式
    def result(code=HttpCode.ok, message="", data=None, kwargs=None):
        json_dict = {"code": code, "message": message, "data": data}
        # isinstance(object对象, 类型):判断是否数据xx类型
        if kwargs and isinstance(kwargs, dict) and kwargs.keys():
            json_dict.update(kwargs)
    
        return JsonResponse(json_dict)
    
    
    def ok():
        return result()
    
    # 参数错误
    def params_error(message="", data=None):
        return result(code=HttpCode.paramserror, message=message, data=data)
    
    # 权限错误
    def unauth(message="", data=None):
        return result(code=HttpCode.unauth, message=message, data=data)
    
    
    # 方法错误
    def method_error(message="", data=None):
        return result(code=HttpCode.methoderror, message=message, data=data)
    
    
    # 服务器内部错误
    def server_error(message="", data=None):
        return result(code=HttpCode.servererror, message=message, data=data)
    

     

    2. GET/POST装饰器

      作用:限制视图函数的请求类型

    #导入模块:
    
    from django.views.decorators.http import require_POST, require_GET
      
    #例:
    @require_POST #只允许POST请求
    def index(request):
      pass
        
    @require_GET #只允许GET请求
    def cms(request):
      pass
    
    

    无所成,但至少努力过

  • 相关阅读:
    实验楼挑战赛(1)-实现不可修改字典
    python django前端界面实现数据库数据excel导出
    python2中range和xrange的异同
    python的json模块的dumps,loads,dump,load方法介绍
    ajax500错误
    伪元素小tips
    使用css3制作蚂蚁线
    chardet坑——比蜗牛还慢
    Flask的socket.error:10053
    chrome插件开发-消息机制中的bug与解决方案
  • 原文地址:https://www.cnblogs.com/jingxuan-li/p/9721369.html
Copyright © 2011-2022 走看看