Frage

im fragen wieder :), ich weiß nicht, wie dies machen.

Mein Englisch ist nicht so gut, aber schlecht versuchen, dies zu fragen:

, wie krank Prüfungs-Form und zurück zur Vorschau-URL (die gleiche Ansicht Form) und zeigen die Validierungsfehler gehen ?, im dies zu fragen, weil ich 2 haben Formulars, die Klage der ersten Form in eine zweite Form wird (POST) , aber in dieser zweiten Form (Ansicht?) ich brauche die erste Form zu bestätigen, wenn die erste Form gültig ist i die zweite Form zeigen möge sonst krank die erste Form mit Fehlern zeigen.

Ich weiß nicht, ob im klaren, im sorry.

im darüber nachgedacht:

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 ???

Danke Jungs PD: im glücklich, im Codierung Django + Python: D

War es hilfreich?

Lösung

Ja, könnte formwizard Ihre Antwort sein, aber man konnte es wohl mit einer gewissen Logik in Aussicht.

So etwas wie:

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(...)

Andere Tipps

Ok, Jungs, ich denke, dass mi Lösung ist FormWizard:)

aber im nicht klar mit etwas über meine zweite Form, denn ich brauche die zweite Form in anderer Weise zu zeigen, wenn die gewählte Option im Radio für mehr oder weniger Felder (in der zweiten Form) ist

; (

Ich glaube, Sie process_step verwenden möchten () eine gewisse Logik auf zu tun, wie / was in Ihrer zweiten Form tun Display.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top