보기 기능 장고 :내가이 같은 request.GET의 변수에 따라 다른 함수를 호출 디스패처처럼 작성 장고에서보기 기능이 디자인
action = ''
for act in ('view1', 'view2', 'view3', 'view4', ...):
if act in request.GET:
action = act
break
...
if action == '':
response = view0(request, ...)
elif action == 'view1':
response = view1(request, ...)
elif action == 'view2':
response = view2(request, ...)
...
글로벌 디스패처 기능은 많은 변수 초기화 루틴을 포함 이러한 변수는 viewXX 함수에서 사용됩니다. 또한 일부 초기화 코드는 호출되는 작업에 따라 다릅니다.
그래서 내가보기에는 좋지 않은 디자인이지만, 어떻게 다시 쓸 수 있을지 모르겠다.
세스에게 고맙습니다 만, 초기화 절차가 동작에 따라 약간 다를 경우 어떻게해야합니까? – dragoon
그런 경우 초기화의 공통 요소를 하나의 함수로 제외하고 각 하위 뷰의 고유 요소를 유지할 수 있습니다. 또는 초기화 함수를 매개 변수화하십시오. 세부 사항에 따라 다릅니다. – Seth