Your view is returning a 200 code, so it thinks it is finishing correctly with no errors, probably the reason you don't see any errors.
At what point do you get a blank page? Initial load? Final step? Does the template in your done() step exist? Have you installed the Django-debug-toolbar to examine the context of your blank page? -James On Jan 30, 2016 2:18 AM, "Martin Torre Castro" <[email protected]> wrote: > I'm trying to use the formwizard in formtools package with no success (I > was able to do it when the package was inside Django in earlier versions). > > The only response I got is: > > [23/Jan/2016 11:06:50]"GET /registration/wizard HTTP/1.1" 200 13729 > > and a blank page. No errors in browser or Eclipse console. > > There's no way of googling without errors. Please help. > > Thanks in advance > > (If you guys find more comfortable stackoverflow, you can go to > http://stackoverflow.com/q/34962499/1241715) > > > *What did I do?* > > Firstly, I installed the formtools package with pip: > > django-formtools==1.0 > Django==1.8.3 > > > Following the instructions of the official docs: > > > 1. Define form classes > > *registration/forms.py* > > class StepForm1(forms.Form): > first_field = forms.CharField(max_length=100) > second_field = forms.CharField() > > class StepForm2(forms.Form): > message = forms.CharField(widget=forms.Textarea) > > 2. Create WizardView > > > *registration/views.py * > TEST_TEMPLATES = {"test_step_1": "registration/test_step1.html", > "test_step_2": "registration/test_step2.html", } > > from formtools.wizard.views import SessionWizardView > > class WizardTest(SessionWizardView): > template_name = 'registration/test_wizard.html' > > # Return templates for each step > def get_templates_name(self): > return [TEST_TEMPLATES[self.steps.current]] > > # Method called when all is done > def done(self, form_list, **kwargs): > # return HttpResponseRedirect('/url-to-redirect-to/') > > # We return the final template with the info > return render_to_response('test_done.html', { > > 'form_data':[form.cleaned_data for form in form_list], > > }) > # THESE METHODS BELOW ARE NOT NEEDED, BUT COMMENTED FOR FUTURE USE > > # Not strictly needed. Returns data for a step > # or None if form is not valid > > # def get_cleaned_data_for_step(self, step): > #return None > > # Form data postprocessing in a concrete wizard step > # def process_step(self, form): > #return self.get_form_step_data(form) > > # Handles value from a step before storing them into wizard > # def get_form_step_data(self, form): > #return form.data > > 3. Create the templates > > *registration/test_step1.html* > > <h1>Two fields form</h1> > <input id="first_field" name="first_field"> > <input id="second_field" name="second_field"> > > > *registration/test_step2.html * > <h1>Message form</h1> > <input id="message" name="message"> > > > *registration/test_wizard.html * > {% extends "person/alumnos.html" %} > {% load i18n %} > > {% block head %} > {{ wizard.form.media }} > {% endblock head %} > > {% block content %} > <p>{% trans "Step {{wizard.steps.step1}} of > {{wizard.steps.count}}" %}</p> > <form action="" method="post"> > {% csrf_token %} > > {{ wizard.management_form }} > {% if wizard.form.forms %} > {{ wizard.form.management_form }} > {% for form in wizard.form.forms %} > {{form}} > {% endfor %} > {% else %} > {{ wizard.form }} > {% endif %} > > {% if wizard.steps.prev %} > <button name="wizard_goto_step" type="submit" value="{{ > wizard.steps.first }}">{% trans "Beginning" %}</button> > <button name="wizard_goto_step" type="submit" value="{{ > wizard.steps.prev }}">{% trans "Previous step" %}</button> > {% endif %} > > <input type="submit" value="submit"/> > </form> > {% endblock %} > > 4. Add 'formtools' to my INSTALLED_APPS > > > *settings.py * > DJANGO_APPS = ( > # Default Django apps: > 'django.contrib.auth', > 'django.contrib.contenttypes', > 'django.contrib.sessions', > 'django.contrib.sites', > 'django.contrib.messages', > 'django.contrib.staticfiles', > > 'formtools', # <===== HERE > > # Useful template tags: > # 'django.contrib.humanize', > # Admin panel and documentation: > 'django.contrib.admin', > # 'django.contrib.admindocs', > ) > > # Apps specific for this project go here. > LOCAL_APPS = ( > 'person', > 'registration', > 'teaching', > 'utils', > ) > > # See: > https://docs.djangoproject.com/en/dev/ref/settings/#installed-apps > INSTALLED_APPS = DJANGO_APPS + LOCAL_APPS > > 5. Point my URLconf at your WizardView as_view() method. > > > *registration/urls.py * > from registration.forms import StepForm1, StepForm2 > > TEST_FORMS = [("test_step_1", StepForm1), ("test_step_2", StepForm2), ] > > from registration.views import WizardTest > > # I tried in two ways, none of them worked > > urlpatterns = patterns('', > url(r'^wizard$', WizardTest.as_view(TEST_FORMS), > name='wizard_test'), > url(r'^wizard2$', views.wizard, name='wizard_test'), > ) > > For the second way... > > > *registration/views.py * > def wizard(request): > return WizardTest.as_view(TEST_FORMS)(request) > > > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/django-users. > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-users/333f094e-3b3f-4235-b3df-1b5d76c3004f%40googlegroups.com > <https://groups.google.com/d/msgid/django-users/333f094e-3b3f-4235-b3df-1b5d76c3004f%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CA%2Be%2BciXR%3DgaO142Q4mLVrtw4hEtVnbV7L2N49zeNOhp9Y1Fd4A%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.

