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

300
Views
¿Cómo obtener datos de un modelo Django y mostrarlos en una ventana emergente modal de arranque?

soy nuevo en django framework, en mi aplicación tengo dos modelos, BoardsList y BoardLink:

 class BoardsList(models.Model): master_code = models.CharField(max_length=6, primary_key=True) uc_code = models.CharField(max_length=20) description = models.CharField(max_length=200) customer_name = models.CharField(max_length=30) def __str__(self): return "MASTER_CODE = " + self.master_code class BoardLink(models.Model): boardsList = models.ForeignKey(BoardsList, on_delete=models.CASCADE) configuration_sheet_link = models.CharField(max_length=300) wiring_diagram_link = models.CharField(max_length=300) def __str__(self): return self.boardsList_id

Y las vistas relativas son:

 class BoardsListView(generic.ListView): template_name = 'index.html' context_object_name = 'boards_list' paginate_by = 75 def get_queryset(self): query_filter = self.request.GET.get("find_master", None) if query_filter is not None: return BoardsList.objects.filter(Q(master_code__contains=query_filter) | Q(uc_code__contains=query_filter) | Q(customer_name__contains=query_filter)).order_by('customer_name') return BoardsList.objects.order_by('master_code') class BoardLinkView(generic.DetailView): template_name = 'index.html' context_object_name = 'board_link_list' paginate_by = 1 def get_queryset(self): query_filter = self.request.GET.get("find_master_link", None) if query_filter is not None: return BoardLink.objects.filter(Q(boardsList__exact=query_filter))

en mi página html, mostré correctamente los datos de la lista de tableros en una tabla:

 <tbody> {% for board in boards_list %} <tr> <td>{{ board.master_code }}</td> <td>{{ board.uc_code }}</td> <td>{{ board.description }}</td> <td>{{ board.customer_name }}</td> <td> <form method="GET" action=""> <button type="button" class="btn" name="find_master_link" data-bs-toggle="modal" data-bs-target="#boardLinksModal"> <i class="fa-solid fa-file-lines"></i> </button> </form> </td> </tr> {% endfor %} </tbody>

ahora mi problema es cómo puedo obtener el registro de datos del modelo BoardLink en el evento de clic de botón y mostrarlo en la ventana emergente modal de arranque que ya he creado e incluirlo en mi página html con:

 {% include 'modalPopUp.html' %}

mi código modal es el mismo del ejemplo de documentación de arranque.

gracias de antemano por las respuestas!!

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

0

Esta es realmente una pregunta sobre cómo funcionan las plantillas. Lo que debe comprender es que cuando un cliente solicita una página a un servidor django, la vista django muestra la plantilla antes de enviarla de vuelta al navegador. Esto significa que procesa todas las etiquetas dinámicas de la plantilla y las convierte en una página html estática, que envía al navegador que la solicita.

Esto incluye la etiqueta {% include 'page.html'%} , que por cierto, es genial.

Cuando se procesa una plantilla, si hay etiquetas {% include 'page.html'%} dentro, lo que sucede es que los archivos html a los que se hace referencia se recuperan, se procesan en html estático y finalmente se incrustan en la plantilla raíz.

Todo se envía en una sola página html estática al navegador del cliente. Esto significa que si bien puede dividir su plantilla en varios archivos para mantenerla ordenada, cuando la página se envía a un cliente, tiene la forma de un archivo html completamente estático único, que se creó resolviendo todos los componentes dinámicos. en forma de django template tags .

Espero haber sido claro hasta ahora..

Si entendió mi explicación, también comprenderá que cada subplantilla que se incluye en la plantilla raíz también tiene acceso a las mismas variables de contexto que la propia plantilla raíz.

Entonces, en su caso, si incluye un poco de html que contiene un modal de arranque, puede hacer referencia a las mismas variables de contexto disponibles en la página que contiene la etiqueta de inclusión. Así que adelante, intente agregar {{ boards_list }} o {{ board_link_list }} en su cuerpo modal y verá que funciona de inmediato.

PS BoardLinkView es un DetailView y su context_object_name es board_link_list , lo cual es muy engañoso porque no es una lista. ¡Lo cambiaría si fuera tú!

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!