gpt4 book ai didi

python - 使用可重用方法和错误处理设置基于类的 View 架构

转载 作者:行者123 更新时间:2023-12-01 05:45:18 25 4
gpt4 key购买 nike

我正在努力如何使用可重用的方法构建基于类的 View ,这些方法应该像验证步骤一样。我不想引发实际错误,但返回 json 消息(成功和失败)

class View(object):
ERRORS = (
('error_1', 'Enter an integer'),
('error_2', 'Enter a valid integer'),
('error_3', 'Enter a positive integer'),
)

def get_number(request):
number = request.GET.get('number', None)
return number
else:
return 'error_1', ERRORS.get('error_1')

def validate_number(number):
try:
number = int(number)
except (TypeError, ValueError):
return 'error_2', ERRORS.get('error_2')
if number > 0:
return number
else:
return 'error_3', ERRORS.get('error_3')

def get(request, *args, **kwargs):
# pseudo code should run reusable method checks
# then return {'number':number} or {'error_1', 'msg'}

def post(request, *args, **kwargs):
# pseudo code should run reusable method checks
# then return {'number':number} or {'error_1', 'msg'}

问题是我应该如何“摆脱”验证步骤。我尝试从验证方法返回 JsonResponse,但它会在实际返回任何导致错误的响应之前继续 get 或 post 方法。我可以设置类错误和消息,但这意味着在 get 或 post 方法中进行大量 if/else 检查..

我基本上是在寻找一种类架构,它可以让我运行可能有一个或两个返回值的验证方法。我想我可能必须创建自己的错误处理程序,但我没有一个明确的示例。

最佳答案

您可以从 Django 的表单框架中获取一些灵感,并引发某种验证异常。然后,一个单独的“验证”方法可以调用所有验证函数,捕获任何异常,并输出正确的 JSON 结果。

或者,您可以直接使用 Django 表单,这可能会更简单。

关于python - 使用可重用方法和错误处理设置基于类的 View 架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16316384/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com