On Nov 1, 5:33 am, killsto <[EMAIL PROTECTED]> wrote:
> I have a basic form that shows what a person entered when it is
> submitted.  However, it shows up as a form.CharField (textbox) instead
> of model.CharField. Is there a way to access the model's saved data
> from the Forms? Also does form_for_model (http://www.djangobook.com/en/
> 1.0/chapter07/) no longer exist? I can't get it to load.
>
<snip>
>
> from qotd.models import *
> from django.shortcuts import render_to_response
> from django.http import HttpResponseRedirect
>
> def contact(request, question):
>     if request.method == 'POST': # If the form has been submitted...
>         form = Questionform(request.POST) # A form bound to the POST
> data
>         if form.is_valid():
>                 form.save()
>                 #return HttpResponseRedirect('results.html', {'form': form}
>
>     else:
>         form = Questionform()
>     return render_to_response('contact.html', {
>         'form': form
>     })

The only thing you need to do that you're not doing is to actually
pass the instance of Question (or Choice) to the form when you
instantiate it.

Assuming that 'question' is the PK of the Question object:

def contact(request, question):
    question_obj = Question.objects.get(pk=question)
    if request.method == 'POST':
        form = Questionform(request.POST, instance=question_obj)
        if form.is_valid():
                form.save()
                return HttpResponseRedirect('/submission/')
    else:
        form = Questionform(instance=question_obj)
    return render_to_response('contact.html', {
        'form': form
    })

Note that HttpResponseRedirect takes a *URL*, not a template/context.
It tells the user's browser to request a different URL so that they
can't submit the form twice.
--
DR.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to