Hi, James, I'm trying with the django-debug-toolbar. I can't see anything because the message "500: INTERNAL SERVER ERROR" appears. I tried in all the options and keeps showing this 500 code message.
But it comes to my attention that, for example, the tooltip for "templates" shows "3 templates rendered". Anyway, I can't get the headers, the request or anything using the django-debug-toolbar. :-( I will keep on with testing this. On 30 January 2016 at 17:23, Martín Torre Castro < [email protected]> wrote: > I can't see the initial load, which is the same as saying that the first > step does not load. > El 30 ene. 2016 1:56 p. m., "James Schneider" <[email protected]> > escribió: > >> 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 a topic in the >> Google Groups "Django users" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/django-users/mAi_fB_MTwo/unsubscribe. >> To unsubscribe from this group and all its topics, 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 >> <https://groups.google.com/d/msgid/django-users/CA%2Be%2BciXR%3DgaO142Q4mLVrtw4hEtVnbV7L2N49zeNOhp9Y1Fd4A%40mail.gmail.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/CAKijOkxOOrk6VWm_2D%3DFWT%3Dz%2BqANZCX08LJqxY9b2bf1aX3LJQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.

