En django 1.10 , necesito pasar parámetros de una plantilla html a view.py , y finalmente renderizar nuevamente la misma vista.
El problema está en configurar la action en el html para usar javascript.
Esta es mi plantilla html:
<form method='POST' action='/res/{{link}}/{{page_id}}/{{email}}/'> <input type="hidden" name="email" value="{{email}}"> <input type="image" type='submit' src={% static "assets/images/twitter_icon.png" %}> </form> {{page_id}} en action cambia a medida que el usuario interactúa con la página web (usando un selector desplegable). El siguiente javascript podría detectar esto:
<script> function post_redirect_link() { var page_id = document.getElementById("sel1").options.selectedIndex; return '/res/{{link}}/'+page_id+'/{{email}}/' } </script> Y traté de establecer la action dinámicamente como:
<form method='POST' action='post_redirect_link()'> <input type="hidden" name="email" value="{{email}}"> <input type="image" type='submit' src={% static "assets/images/twitter_icon.png" %}> </form> PERO en cambio, obtengo una redirección del tipo /res/correct_link/post_redirect_link()/correct_email , donde "post_redirect_link()" se toma como cadena en lugar de ser el valor devuelto por el método js.
¿Cualquier sugerencia?
Intenta hacer lo siguiente.
<form action="#" method='POST'> <script> function changeAction() { var page_id = document.getElementById("sel1").options.selectedIndex; var url = '/res/{{link}}/'+page_id+'/{{email}}/'; document.forms[0].action = url; } </script> <input type="hidden" name="email" value="{{email}}"> <input type="image" type='submit' onmouseover="changeAction()" src={% static "assets/images/twitter_icon.png" %}> </form>