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.