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
无所成,但至少努力过