我有一个 Django 视图,我想重用它而不是复制和粘贴,在执行一些自定义逻辑之前加载和验证。
我正在评估使此视图可重用的三种方法:
- 装饰者(不是 Djangoish)
- 通用视图方法(调查)
- 基于类的通用视图(有点矫枉过正)
你会推荐什么,为什么?
我提供了以下视图的片段:
try:
data = json.loads(request.body)
except:
resp = generate_json_response(False, 'validation', 'JSON data cannot be parsed. Please check your data format.')
return HttpResponse(resp, mimetype="application/json")
# Validation
location = data.get('location', None)
if location:
{custom logic}
else:
# No Location
resp = generate_json_response(False, 'validation', 'Missing location id')
return HttpResponse(resp, mimetype="application/json")
resp = generate_json_response(True, None, None)
return HttpResponse(json.dumps(resp), mimetype="application/json")