variable tutorial template ifequal examples bootstrap python django forms django-forms

python - template - django tutorial



Django-Trabajando con mĂșltiples formas (1)

Usa el prefix kwarg

Puede declarar su formulario como:

form = MyFormClass(prefix=''some_prefix'')

y luego, siempre que el prefijo sea el mismo, procese los datos como:

form = MyFormClass(request.POST, prefix=''some_prefix'')

Django se encargará del resto.

De esta forma, puede tener tantas formas del mismo tipo como desee en la página

Lo que trato de hacer es administrar varios formularios en una página, sé que hay conjuntos de formularios, y sé cómo funciona la administración de formularios, pero tengo algunos problemas con la idea que tengo en mente.

Solo para ayudarte a imaginar cuál es mi problema, voy a utilizar los modelos de ejemplo de django:

from django.db import models class Poll(models.Model): question = models.CharField(max_length=200) pub_date = models.DateTimeField() class Choice(models.Model): poll = models.ForeignKey(Poll) choice = models.CharField(max_length=200) votes = models.IntegerField(default=0)

Ahora, imagina que ya hice las clases de formulario:

from django import forms from mysite.polls.models import Poll, Choice class PollForm(forms.ModelForm): class Meta: model = Poll class ChoiceForm(forms.ModelForm): class Meta: model = Choice exclude = (''poll'',)

Entonces, lo que quiero hacer es tener varias instancias de formulario del modelo Poll and Choice en una sola página, pero tenga en cuenta que estos modelos se pueden repetir también:

<form action="{{url}}" method="post"> {{pollform}} {{choiceform}} {{pollform}} </form>

Como puede ver, hay dos formularios de encuesta y un formulario de elección, pero los formularios de encuesta están separados por el formulario de elección. Necesito que los formularios mantengan su orden en la página, por lo que es un poco más difícil de usar conjuntos de formularios.

El problema que tengo, es que los valores que vienen en la publicación son todos con el nombre de "respuesta", así que obtengo una lista de todos los elementos de todas las formas por el nombre "respuesta" y no puedo identificar cuáles pertenecen a cada forma.

No sé si esta explicación tiene una visión clara de mi problema. Alguna idea para hacer esto?

¡Gracias por tu ayuda!

PD: No preste atención a la relación entre Poll y Choice, esos modelos son solo para aclarar el problema, por lo que la relación no importa en absoluto.