문제

나는 다시 묻는다 :), 나는 이것을 만드는 방법을 모른다.

내 영어는 그리 좋지 않지만 이것을 물어 보려고 노력할 것입니다.

양식을 검증하고 미리보기 URL (동일한보기 양식)으로 돌아가서 검증 오류를 표시하는 방법? 이 두 번째 양식 (보기?) 첫 번째 양식을 검증해야합니다. 첫 번째 양식이 유효하다면 두 번째 양식을 표시하고 싶습니다. 그렇지 않으면 오류가있는 첫 번째 양식을 표시합니다.

나는 명확한 지 모르겠다, 미안 해요.

나는 이것에 대해 생각하고있다 :

def secondForm(request):
    if request.method =='POST':
       form = FirstForm(request.POST)
       if form.is_valid():
          fields = request.POST.copy()
          # showing the second form?? with x differents fields, i have 2.
          if fields['xvalue']=='1': # this is from radio buttons
             form2 = xSecondForm()
          elif fields['xvalue']=='2':
             form2 = ySecondForm()
       else:
         # here go back with erros msgs????
         #return render_to_response('firstFormTemplate.html',{'form': form}, context_instance=RequestContext(request))
    else:
      #return something or go back ???

감사합니다

도움이 되었습니까?

해결책

그렇습니다. FormWizard가 귀하의 답변 일지 모르지만 아마도 몇 가지 논리로 할 수 있습니다.

같은 것 :

def your_view(request):
    context = {}
    data = request.method == 'POST' and request.POST or None
    form = FirstForm(data=data)
    # If the first form is valid, build the second.
    if form.is_valid():
        if form.cleaned_data['xvalue'] == 1:
            form2 = xSecondForm(data=data)
        else:
            form2 = ySecondForm(data=data)
        context['form2'] = form2
    # If both forms are valid, everything is done.
    if form.is_valid() and form2.is_valid():
        # TODO: put save/processing logic here
        # Now redirect.
        return http.HttpResponseRedirect(...)
    # If we get here, either there hasn't been a post yet, the second form hasn't
    # been entered, or there was an error in either form.
    context['form'] = form
    return render_to_response(...)

다른 팁

좋아, 얘들 아, 나는 mi 솔루션이 formwizard라고 생각한다 :)

그러나 라디오에서 선택한 옵션이 다소 필드 (두 번째 형식)이라면 두 번째 형태를 다른 방식으로 보여 주어야하기 때문에 두 번째 형태에 대해 명확하지 않습니다.

;(

Process_Step ()를 사용하여 두 번째 양식에 표시되는 방법에 대한 논리를 수행하고 싶다고 생각합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top