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/CAKijOkzmxuJ9weP-QzR_8jN%2BF8YuufMTiNkSuEXga7fsd-rshg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to