Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

167
Views
¿Cómo reemplazar todas las cadenas de marcador de posición __prefix__ dentro de Django Formsets elementos de forma vacía usando solo Javascript?

Los conjuntos de formularios de Django tienen un atributo empty_form .

formulario_vacío

BaseFormSet proporciona un atributo adicional empty_form que devuelve una instancia de formulario con un prefijo de __prefix__ para facilitar su uso en formularios dinámicos con JavaScript.

La documentación de Django en realidad no dice cómo reemplazar el __prefix__ con Javascript. Varios ejemplos en línea muestran cómo hacerlo con jQuery, pero específicamente quiero hacerlo con Javascript, no con jQuery .

Aquí está el HTML resultante de mi {{ formset.empty_form }} :

 <div id="prerequisiteEmptyForm"> <input type="text" name="prerequisites-__prefix__-text" maxlength="100" id="id-prerequisites-__prefix__-text"> <label for="id-prerequisites-__prefix__-DELETE">Delete:</label> <input type="checkbox" name="prerequisites-__prefix__-DELETE" id="id-prerequisites-__prefix__-DELETE"> <input type="hidden" name="prerequisites-__prefix__-id" id="id-prerequisites-__prefix__-id"> <input type="hidden" name="prerequisites-__prefix__-content" value="21" id="id-prerequisites-__prefix__-content"> </div>

En todas partes muestra __prefix__ , quiero reemplazarlo con un número... digamos 321 .

Solución correcta:

 <div id="prerequisiteEmptyForm"> <input type="text" name="prerequisites-321-text" maxlength="100" id="id-prerequisites-321-text"> <label for="id-prerequisites-321-DELETE">Delete:</label> <input type="checkbox" name="prerequisites-321-DELETE" id="id-prerequisites-321-DELETE"> <input type="hidden" name="prerequisites-321-id" id="id-prerequisites-321-id"> <input type="hidden" name="prerequisites-321-content" value="21" id="id-prerequisites-321-content"> </div>

Entonces mi pregunta se convierte en

Usando solo Javascript, ¿cómo reemplazo un valor constante ("__prefix__") con otra cosa ("321") en varios elementos (entradas y etiquetas) dentro de múltiples atributos (nombre, id)? Específicamente, quiero hacerlo limpiamente para repetibilidad. No quiero una solución altamente personalizada para este problema específico. Tiene que ser un enfoque general... ya que esto está reemplazando una constante, ¿seguramente Javascript tiene una forma limpia de hacer esto? Todavía estoy aprendiendo Javascript y tratando de no ser tan dependiente de jQuery.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Usé este concepto:

 const emptyForm = document.querySelector('#prerequisiteEmptyForm'); clone = emptyForm.cloneNode(deep=true); clone.innerHTML = clone.innerHTML.replace(/__prefix__/g, '321');
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!