style link img div attribute html django forms django-forms

link - td title html



Formas HTML sin acciones (4)

En Django / Pinax, he encontrado el formulario de inicio de sesión que comienza así:

<form class="login" method="POST" action="">

Funciona perfectamente bien. Entonces asumo que ya sea algún java-script o algo en el marco de Django está poniendo el valor en el atributo de acción.
Entonces, mis preguntas:

  • ¿Cómo inserta Django la acción?
  • ¿Por qué lo hacen así?
  • ¿Cómo puedo averiguar cuál es la acción de este formulario?

Actualización: veo que esto no es una cosa de Django en absoluto, pero lo que hace la mayoría de los navegadores.


Para obtener una visión interesante de los formularios con acciones vacías, lea este hilo , que le brinda una perspectiva HTML5 actualizada sobre este asunto.


Supongo que es un poco tarde para responder a esta publicación. De todos modos, voy a lo que aprendí sobre esto.

Si la "acción" no se especifica en los formularios, entonces Django busca HttpResponseRedirect en la vista correspondiente.

Por ejemplo, en el siguiente ejemplo:

if form.is_valid(): # All validation rules pass # Process the data in form.cleaned_data # ... return HttpResponseRedirect(''/thanks/'')

Una vez que el formulario se valida (y se procesa), la página se redirige a ''gracias''


También es posible que javascript cargado con esta página esté configurando una acción una vez que la página se cargue según la aplicación que esté usando la página.

Otra posibilidad probable es que el javascript esté manejando el evento onsubmit. Se podría hacer eso para evitar que la página se cargue o redirija a una página específica


Tener una acción de una cadena vacía en la mayoría de los navegadores apunta el formulario a la URL que el navegador ha cargado actualmente, que es el script que sirvió al formulario en primer lugar.