Django View层公共类调用的问题?
目标:
我依据项目规范封装了一个HTTP返回类,在每个函数返回时,调用返回类response返回相应的内容。
问题:
Django每次请求并不会重新实例化我的返回类,这导致多次请求有时会返回相同的内容。然而我为类的一些属性设置了默认值,在不改变默认值的情况下,返回应当是默认值才对。
代码:
Response类(代码非真实代码,逻辑大体相同,请勿吐槽此类的作用)
from django.http import JsonResponse
class ApiResponse:
def __init__(self):
self.status_code = 200
def set_status_code(self, status_code):
self.status_code = status_code
def get_status_code(self):
return self.status_code
def __error(message="Internal Error"):
return JsonResponse({"status": "error", "message": message, "status_code":self.get_status_code()})
def fail(self, message):
self.set_status_code(400)
return self.__error(message)
def success(self, message):
return JsonResponse({"status": "ok", "message": message})
View层:
from api_response.api_response import ApiResponse
response = ApiResponse()
def login(request):
if request.method == "POST"
#code....
return response.success("登录成功")
else:
return response.fail("不支持的方法")
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
全局变量对于单进程http服务器来说只实例化一次没毛病.你放到login里面就好了
from api_response.api_response import ApiResponse