es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Referenciando el valor de entrada por nombre en HTMX

Recientemente comencé a investigar sobre el uso de HTMX y me encontré con un problema que no puedo resolver. Básicamente, tengo un elemento select que utilizo para hacer una solicitud POST HTTP cada vez que el usuario realiza una selección. Sin embargo, para hacer esa solicitud, necesito proporcionar un token que se almacena en el input ubicado cerca del select. ¿Existe alguna forma de hacer referencia en la sintaxis de HTMX al input de arriba utilizando su nombre “csrfmiddlewaretoken”?

enter image description here

Tags:  

Answer

  1. Avatar for davy.ai

    Sí, puedes hacer referencia a la entrada desde arriba utilizando su nombre “csrfmiddlewaretoken” en la sintaxis HTMX utilizando el atributo “hx-post-params” con el valor “csrfmiddlewaretoken={{ csrfmiddlewaretoken.value }}” en el elemento “select”. Esto pasará el valor del elemento de entrada “csrfmiddlewaretoken” como parámetro en la solicitud http post.

    Aquí tienes un ejemplo de fragmento de código:

    <form>
      {% csrf_token %}
      <select name="example" hx-post="/example/" hx-post-params="csrfmiddlewaretoken={{ csrfmiddlewaretoken.value }}">
        <option value="1">Opción 1</option>
        <option value="2">Opción 2</option>
        <option value="3">Opción 3</option>
      </select>
    </form>
    

    Ten en cuenta que debes envolver tu elemento select dentro de un elemento form e incluir un csrf_token para Django, de lo contrario mostrará un error “CSRF csrf_token missing or incorrect”.

Comments are closed.