Necesito crear dinámicamente una clase. Para ir con más detalle, necesito crear dinámicamente una subclase de la clase Form de Django.
De forma dinámica, pretendo crear una clase basada en la configuración proporcionada por un usuario.
p.ej
Quiero una clase llamada CommentForm que debería subclasificar la clase Form
La clase debe tener una lista de atributos elegidos.
- Django 'RequestContext' no está definido - forms.ModelForm
- ¿Cuál es la causa del error de solicitud incorrecta al enviar el formulario en la solicitud del Frasco?
- Expresiones regulares de Python para enteros?
- Agregando campos extra al formulario de registro django
- media matriz numpy pero conserva la forma
….en este caso
name = forms.CharField ()
comment = forms.CharField (widget = forms.Textarea ())
¿Algún consejo útil? 🙂
Puede crear clases sobre la marcha llamando al type
integrado, pasando los argumentos apropiados, como:
CommentForm = type("CommentForm", (Form,), { 'name': forms.CharField(), ... })
Funciona con clases de nuevo estilo. No estoy seguro de si esto también funcionaría con clases de estilo antiguo.
Las clases se pueden definir casi en cualquier lugar.
def newclass(val): class C(object): def __str__(self): return str(val) return C MyClass = newclass(5) m = MyClass() print str(m)