Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

235
Vistas
Obtener la clave del diccionario de vista de Django en Javascript, pero en lugar de considerarlo una cadena, considera un nombre de variable

Estoy haciendo un proyecto en Django. En mis vistas, envío datos a las páginas HTML con diccionarios. Puedo acceder fácilmente a esos datos en HTML, pero cuando trato de acceder a ellos en Javascript no puedo porque Javascripts piensa que es un nombre de variable.

Por ejemplo, tengo una página de inicio de sesión. Si las credenciales están mal, las envío a la misma página y les digo que el usuario o la contraseña están mal. Quiero mantener el nombre de usuario escrito anteriormente en el formulario, para que la persona solo tenga que volver a escribir la contraseña. Envío el nombre de usuario desde la vista al Javascript, pero no puedo acceder a él.

Mi código de vista:

 def login_form(request): assert isinstance(request, HttpRequest) if 'username' and 'password' in request.POST: user = request.POST['username'] passw = request.POST['password'] if rightcredentials(user,passw): tparams = { 'message': 'login successful', } return render(request, 'about.html', tparams) else: tparams = { 'login' : 'failure1', 'username_info' : user } return render(request, 'login_form.html', tparams)

Código JavaScript:

 {% if login == 'failure1' %} <form action="." method="post"> {% csrf_token %} <div class="program-info"> <h3 class="program-title">Sign Into Your Account</h3> <p>Wrong Username or password</p> <div class="form-group"> <input type="text" value="" class="form-control" name="username" id="username" placeholder="Username"> </div> <div class="form-group"> <input type="password" class="form-control" name="password" placeholder="Password"> </div> <button type="submit" class="btn btn-primary">Log In</button> </div> </form> <script type="text/javascript"> {% autoescape off %} var paramvalue = {{ username_info }} {% endautoescape %} document.getElementById("username").value = paramvalue; </script> {%endif%}

Después de insertar el nombre de usuario: 'pedro' y la contraseña incorrecta en el formulario, aparece el siguiente error:

 Uncaught ReferenceError: pedro is not defined

¿Hay alguna forma de acceder a la cadena username_info o de convertir el nombre de la variable en una cadena?

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Envolver {{ }} entre comillas debería funcionar

 {% autoescape off %} var paramvalue = "{{ username_info }}" {% endautoescape %}
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda