Estoy intentando crear un formulario personalizado de django para cambiar el nombre de usuario y el correo electrónico del usuario para una aplicación. Es por eso que necesito pasar los detalles del usuario de la sesión a un formulario para verificar si existe el usuario registrado. Estoy haciendo de esta manera:Pasando ** kwargs a Django Formulario
en views.py
personal_info_form = PersonalInfoForm(prefix='personal_info',
user_details=user_details)
donde user_details
es un diccionario:
'user_details': [{'username': u'username',
'registration_date': datetime.date(2009, 10, 22),
'id': 13, 'email': u'[email protected]'}]}
En forms.py Tengo el siguiente código:
class PersonalInfoForm(forms.Form):
def __init__(self, *args, **kwargs):
user_details = kwargs.pop('user_details', None)
super(PersonalInfoForm, self).__init__(*args, **kwargs)
username = forms.CharField(required=True, initial=user_details[0]['username'])
email = forms.EmailField(required=True)
Y me sale el siguiente error:
name 'user_details' is not defined
He intentado acceder a él con self.user_details
y sólo user_details
y me da el mismo error
+1 hermoso. 10 segundos antes de enviar mi solución muy similar, aparece el banner naranja ... ¡muy bien hecho! – czarchaic
Gracias, estoy leyendo acerca de los ámbitos en este momento :) –