Solución:
Necesitas agregar el {% csrf_token %}
etiqueta de plantilla como elemento secundario del form
elemento en su plantilla Django.
De esta manera, la plantilla representará un elemento oculto con el valor establecido en el token CSRF. Cuando el servidor Django recibe la solicitud del formulario, Django verificará que el token coincida con el valor que se representó en el formulario. Esto es necesario para garantizar que las solicitudes POST (es decir, solicitudes de modificación de datos) se originen en una sesión de cliente auténtica.
Para obtener más información, consulte la documentación de Django en: https://docs.djangoproject.com/en/dev/ref/csrf/
Aquí hay una descripción general del ataque de falsificación de solicitudes entre sitios: https://www.owasp.org/index.php/CSRF
Si esta usando csrf_token
etiqueta de plantilla y el problema no se ha resuelto, compruebe CSRF_COOKIE_DOMAIN
configuración. Deberías configurarlo en None
en el entorno de desarrollo.
Yo tuve el mismo problema. Resolví este problema cuando agregué el {% csrf_token%}. Finalmente mi código es este:
<form id='formulario2' method='post' action='>
<h3>Enter:</h3>
{% csrf_token %}
<input id="id_mesaje" name="mesaje" type="email" placeholder="E-mail"/>
<input type="submit" name="boton2" value="Suscribete" style="display:inline-block;background-color: #80e174; "/>
</form>