template ifequal examples dirs python django django-templates

python - examples - ifequal django



Django: ¿cómo llenar previamente FormView con datos dinámicos(no modelo)? (1)

Tengo una vista FormView, con algún contexto GET adicional proporcionado usando get_context_data ():

class SignUpView(FormView): template_name = ''pages_fixed/accounts/signup.html'' form_class = SignUpForm def get_context_data(self, **kwargs): context = super(SignUpView, self).get_context_data(**kwargs) context = { ''plans'': common.plans, ''pricing'': common.pricing, } return context

Esto funciona bien Sin embargo, también tengo algunos valores en sesión (no de ningún modelo encuadernado) que me gustaría rellenar previamente en el formulario. Estos varían dependiendo de las acciones del usuario en la (s) página (s) anterior (es). Sé (de mi otra publicación ) que puedo pasar el formulario al contexto (con initial= ), pero ¿es posible en una situación FormView por encima?


Puede anular el método ''get_initial'' de la clase FormView. Mira aquí para más información,

p.ej

def get_initial(self): """ Returns the initial data to use for forms on this view. """ initial = super(SignUpView, self).get_initial() initial[''my_form_field1''] = self.request.something return initial

''get_initial'' debe devolver un diccionario donde las claves son los nombres de los campos en el formulario y los valores son los valores iniciales que se usarán al mostrar el formulario al usuario.