2014-01-31 4 views
1

양식 마법사를 사용 중이며 formwizard로 연결되는 링크를 클릭 한 페이지로 되돌아 오는 취소 버튼을 구현하고 싶습니다. 이것을 할 수있는 현명한 방법이 있습니까? 순간 나는 그와 같은 양식 마법사를 시작하는 링크에 리디렉션을 추가하고 : Python Django Form Wizard : 취소 버튼 구현 방법

<td><a href="/lecture/add/?redirect={{ request.path }}">create new lecture</a></td> 

그런 다음 get_context_data에 나는 상황에 self.request.GET.get('redirect')를 추가합니다. 내 템플릿에는 컨텍스트에서 링크로 리디렉션되는 취소 단추가 있습니다. 그러나 이것은 1 단계에서만 작동합니다. 다른 모든 단계에서는 정보가 사라집니다. 그렇다면이 문제를 해결하는 방법에 대해 누구나 알고 있습니까? 도움을 많이 받으실 수 있습니다!

답변

1

당신은 취소 조치를 양식이 제출 될 때마다 전송하는 숨겨진 입력 필드를 사용할 수 있습니다

<input type="hidden" name="redirect" value="{{ cancel_action }}" /> 

을 다음보기에서 읽기 :

def get_context_data(self, form, **kwargs): 
    # ... 
    if self.request.GET.get('redirect'): 
     # ... 
    elif self.request.POST.get('redirect'): 
     context.update({ 'cancel_action' : self.request.POST.get('redirect') }) 
    # ... 
    return context