Tengo una tabla que estoy agregando con los detalles del usuario y quiero agregar una etiqueta de URL de Django a la fila y obtener la clave principal en la etiqueta.
algo como esto:
function putTableData(response) { let row; $("#table_body").html(""); if (response["data"].length > 0) { $.each(response["data"], function (a, b) { row = `<tr> <td>${b["first_name"]} ${b["last_name"]}</td <td>${b["phone"]}</td> <td> <a onclick='console.log("${b["pk"]}")' data-url="{% url 'users:edit' user.${b["pk"]} %}"> </a> </td> </tr>`; $("#table_body").append(row)El registro de la consola onclick está imprimiendo la clave principal de los usuarios, pero cuando intento agregar la etiqueta de URL de datos, aparece "No se pudo analizar el resto ${b["pk"]}
¿Cómo haría que esto funcione?
Pude resolver con:
function putTableData(response) { let row; $("#table_body").html(""); if (response["data"].length > 0) { $.each(response["data"], function (a, b) { row = `<tr> <td>${b["first_name"]} ${b["last_name"]}</td <td>${b["phone"]}</td> <td> <a data-url="/users/${b["pk"]}/edit"> </a> </td> </tr>`; $("#table_body").append(row)Prueba esto:
$.each(response["data"], function (a, b) { data_url = "{% url 'users:edit' 1 %}".replace(1, b["pk"]) row = `<tr> <td>${b["first_name"]} ${b["last_name"]}</td <td>${b["phone"]}</td> <td> <a onclick='console.log("${b["pk"]}")' data-url="+data_url+"> </a> </td> </tr>`; $("#table_body").append(row) });