视图中的return语句应该结束还是在中间?

问题描述 投票:0回答:1

我试图在此上找到某种一致的规则,但找不到一个,所以我转向StackOverflow

在Django视图中,什么是更好的做法:在视图中间(或if-else语句)或少数视图的末尾使用return语句?为了进行比较,请考虑以下假设情况,在这种情况下,响应类型需要根据某些人为条件进行更改:

def example(request):
  response = HttpResponse(content='500 Server error', status=403)
  if request.user.username == 'wolf':
    response = HttpResponse(content='No, bad wolf, no access', status=503)
  elif request.method == 'GET':
    response = render(request, 'barn/barn.html')
  else:
    data, status = get_barn_data(request.POST)
    response = JsonResponse(data=data, status=status)
  return response

vs

def example(request):
  if request.user.username == 'wolf':
    return HttpResponse(content='No, bad wolf, no access', status=403)
  elif request.method == 'GET':
    return render(request, 'barn/barn.html')

  data, status = get_barn_data(request.POST)
  return JsonResponse(data=data, status=status)

其中哪一个是首选? Django教程似乎介于两个变体之间。

python django view
1个回答
0
投票

我建议您使用最容易管理的方式。

我个人比较喜欢您的第二个示例,因为很明显,您将在那时返回,并且不会执行进一步的代码/检查。

© www.soinside.com 2019 - 2024. All rights reserved.