Si has llegado a este capítulo, quiere decir que estamos listos para ya lo último.
El manejo de formularios es la acción de recibir sus datos en nuestro back-end, nuestras vistas podrán acceder a los datos ingresados por el usuario, y con ello podremos realizar la creación de un nuevo producto.
Estaremos usando lo aprendido en los últimos capítulos, así que échales un vistazo.
La vista crear dentro de hogar/views.py debe tener un aspecto así:
1 2 3 4 5 6 7 8 | |
Nuestro formulario no abarca el campo slug de nuestro modelo Producto. Por lo que tendremos que automatizarlo.
Dentro de hogar/models.py, importamos slugify:
1 | |
Ahora, sobreescribimos la funcion save()
1 2 3 4 5 6 7 | |
Sobrescribir está bien, pero siempre debes llamar al método original mediante
super.
Ahora, en el navegador, podemos ingresar un nuevo producto:
Si quieres acceder a los datos antes del guardado, puedes hacerlo mediante
formulario.cleaned_data["nombre"].
Encleaned_data[]se encuentran los datos sanitizados.
python ... if formulario.is_valid(): # verifica que el formulario sea valido # 👇 como heredamos el formulario de un modelo. podemos acceder a su metodo save() print(formulario.cleaned_data["nombre"]) # "hoyo de tarugo" formulario.save() # esto guardara lo ingresado a nuestra tabla Productos ...
Endata[]se encuentran los datos crudos, no se recomienda su uso.
Al clicar en el botón Submit, el producto debería ser guardado en la base de datos, por lo que podríamos verlo en la galería de productos.