[Python-es] redireccionar en Django pasando datos
lasizoillo
lasizoillo en gmail.com
Vie Ene 21 01:30:28 CET 2011
El día 20 de enero de 2011 20:20, (P en vel) <pdlopez en uci.cu> escribió:
> Estoy leyendo el libro de Django de Adrian Holovaty y Jacob Kaplan-Moss y
> estoy en el capitulo 7 procesamiento de formularios y tengo la siguiente
> duda, tengo las vistas que estan abajo, en la vista contact cuando el
> formulario es valido me redirecciona para
> HttpResponseRedirect(/contact/thanks/) segun el ejemplo del libro, ahora en
> el libro no me dicen nada de la vista thanks yo con lo que he ido
> aprendiendo puse en mi archivo url.py lo que esta abajo, es decir a la url
> /contact/thanks/ le asigne una vista para que se pudiera mostrar algo
> despues que envio el formulario, y claro tambien hice un template llamado
> thanks.html, no se si esto sea lo mejor, ahora mi duda es de que forma puedo
> capturar en la vista thanks los datos de la vista contact
>
> ***url.py***
> (r'^contact/thanks/$', 'mysite.libreria.views.thank'),
>
>
> -Vista
> ***archivo view.py***
> def contact(request):
> if request.method == 'POST':
> form = ContactForm(request.POST)
> if form.is_valid():
> topic = form.cleaned_data['topic']
> message = form.cleaned_data['message']
> sender = form.cleaned_data.get('sender', 'noreply en example.com')
> #send_mail('Feedback from your site, topic: %s' % topic,message,
> sender,['pdlopez en hlg.uci.cu'])
> return HttpResponseRedirect(/contact/thanks/)
> else:
> form = ContactForm()
> return render_to_response('contact.html', {'form': form})
>
> def thanks(request):
> return render_to_response("thank.html")
>
Lo más simple es usar la sessión:
http://docs.djangoproject.com/en/1.2/topics/http/sessions/
Más información sobre la lista de distribución Python-es