-
Notifications
You must be signed in to change notification settings - Fork 0
/
api_forms.html
89 lines (52 loc) · 2.39 KB
/
api_forms.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
-Los api forms nos validan los formularios de manera automatica y nos simplifican el trabajo de crear formlarios.
1. Crear un archivos .py donde crearemos todos los formularios de nuestra web, por convencion se crea en el mismo directorio donde esta views.py
forms.py
- Por cada formulario una clase
- Debemos importar la clase forms
from django import forms
class FormularioContacto(forms.Form):
asunto=forms.CharField()
email=forms.EmailField()
mensaje=forms.CharField()
2. En views importamos nuestro formulario
from gestionPedidos.forms import FormularioContacto
3. Creamos la vista del formulario
def contacto(request):
if request.method=="POST":
<!--Rescatamos la informacion introducida en el formulario-->
contact_form= FormularioContacto(request.POST)
if contact_form.is_valid():
info_form=contact_form.cleaned_data
send_mail(info_form['asunto'], info_form['mensaje'], info_form.get('email',''), [[email protected]],)
return render(request, 'gracias.html')
else:
<!--formulario vacio, sin recatar lo intoducido-->
contact_form=FormularioContacto()
<!--Devolvemos los datos del formulario en un html
el html sera formulario_contacto.html y lo construira co nlos datos
del contact_form-->
return render (request, 'formulario_contacto.html', {'form':contact_form})
4. Creamos el formulario_contacto.html
<body>
<h1>Contactanos</h1>
<!--Verificamos que todos los campos esten completos-->
{% if form.errors %}
<p style="color:red">Por favor, completa todos los campos</p>
{% endif %}
<form action="" method="POST"> {% csrf_token %}
<table>
{{ form.as_table }}
</table>
<input type="submit" value="Enviar">
</form>
</body>
Por defecto nos crea un formulario en tablas <tr></tr><th></th>
Si queremos formatear los hacemos con:
miFOrmulario.as_p()---------------------------------------------------
en vez de <tr><th></th></tr> nos formatea a <p></p>
miFOrmulario.as_p()---------------------------------------------------
en vez de <tr><th></th></tr> nos formatea a <li></li>
miFOrmulario.is_valid()---------------------------------------------------
Nos devuelve True si el formulario es valido, False caso contrario
miFOrmulario.cleaned_data---------------------------------------------------
nos devuelve los datos cargados en el formulario