variable template ifequal for examples django-templates django-crispy-forms

django templates - template - Usando dos formas django crujientes



django templates examples (1)

Ok, lo tengo. Parece que las formas crujientes sobrescriben la variable "forma". Es por eso que esto devuelve las mismas dos formas:

<form action="{% url feedback %}" method="post" id="id-Crispy_ContactForm" class="form"> {% crispy feedback_form %} </form> {% crispy form %}

pero esto devuelve dos formas diferentes:

{% crispy form %} <form action="{% url feedback %}" method="post" id="id-Crispy_ContactForm" class="form"> {% crispy feedback_form %} </form>

El primer ejemplo sobrescribe la variable "formulario" antes de que la segunda llamada de formulario pueda tomarla.

Solo quería confirmar que no era algo que estaba haciendo mal. Así que simplemente invierte el orden en que se llaman los dos formularios para que la instancia de {% crispy form%} aparezca primero. No pude usar una variable diferente para la forma porque estoy usando las funciones create / update_object.

Tengo dificultades para usar dos formas django crujientes al mismo tiempo. Tengo un formulario para ingresar datos nuevos en mi aplicación y otro formulario que se muestra en un modo de arranque para que los usuarios puedan enviar sus comentarios. A continuación, he despojado mi plantilla de lo básico desnudo.

Tengo un formulario de grupo:

class Crispy_Group_Form(forms.ModelForm): def __init__(self, *args, **kwargs): self.helper = FormHelper() # self.helper.form_tag = False self.helper.form_class = ''form-horizontal'' self.helper.layout = Layout( Fieldset( ''New Group'', Field(''name'', placeholder=''Group Name''), Field(''notes'', placeholder=''Group Notes'', rows=''10'', css_class=''input-xxlarge''), ), FormActions( Submit(''save_changes'', ''Save changes'', css_class="btn-primary"), HTML('' | ''), Submit(''cancel'', ''Cancel''), ) ) self.helper.form_id = ''id-Crispy_Group_Form'' self.helper.form_method = ''post'' super(Crispy_Group_Form, self).__init__(*args, **kwargs) class Meta: model = Group exclude = [''slug'']

y un formulario de contacto

class Crispy_ContactForm(forms.ModelForm): def __init__(self, *args, **kwargs): self.helper = FormHelper() self.helper.form_class = ''form ajax'' self.helper.form_action = ''feedback'' self.helper.form_tag = False self.helper.layout = Layout( Fieldset( ''Contact Form'', Field(''topic'', placeholder=''Topic'', css_class=''input-medium''), Field(''subject'', placeholder=''Subject'', css_class=''input-xlarge''), Field(''message'', placeholder=''Message'', rows=''5'', css_class=''input-xlarge''), Field(''sender'', placeholder=''Sender'', css_class=''input-xlarge''), ), ) self.helper.form_id = ''id-Crispy_ContactForm'' self.helper.form_method = ''post'' super(Crispy_ContactForm, self).__init__(*args, **kwargs) class Meta: model = Feedback exclude = [''creation_date'']

Mi vista:

def bootstrap_test(request): return render_to_response( "bootstrap_test.html", { ''feedback_form'' : Crispy_ContactForm, ''form'' : Crispy_Group_Form, }, context_instance=RequestContext(request))

Y mi plantilla muy básica:

{% load crispy_forms_tags %} <form action="{% url feedback %}" method="post" id="id-Crispy_ContactForm" class="form"> {% crispy feedback_form %} </form> {% crispy form %}

Feedback_form se muestra dos veces. Como si ambas formas tuvieran la misma forma. Si elimino feedback_form de la plantilla, muestra el formulario de grupo. Si reorganizo los dos por lo que {% forma crujiente%} está por encima de feedback_from, muestra las dos formas diferentes correctamente.

Leí la documentación , pero no pude encontrar un método que funcione.

¿Por qué sucede esto y qué debo ajustar para que esto se muestre correctamente?