Tengo 2 botones de orders y suppliers , y quiero mostrar datos en una aplicación web de Django cuando se hace clic en el botón correspondiente. Para hacer esto, my home.html parece
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script> $(document).ready(function(){ $(".button_order").click(function(){ $(".myorders").show(); $(".mysupplier").hide(); }); $(".button_supplier").click(function(){ $(".myorders").hide(); $(".mysupplier").show(); }); }); </script> syle.css parece;
.myorders, .mysupplier{ font-size: 25px; display: none; }Esto funciona perfectamente bien hasta que uso datos normales como;
<body> {%block content %} <button class="button_order" >ORDERS</button> <button class="button_supplier" >SUPPLIER</button> <p class="myorders" > This is my order </p> <p class="mysupplier"> my supplier is cool </p> </body> Pero cuando trato de usar datos en <p class="mysupplier"> o <p class="myorders" > de mis bases de datos, la propiedad hide ya no funciona, como en la parte de abajo.
<p class="myorders"> {% for element in orders %} {% for key,val in element.items %} <ul><li>{{key}}:{{val}}</li></ul> {% endfor %} <hr class="new1"> {% endfor %} </p>Debería obtener los datos del pedido de la base de datos solo cuando se hace clic en el botón PEDIR , pero mi servidor muestra todos los datos anteriores sin siquiera hacer clic en el botón. Cómo mantener ocultar y mostrar la propiedad de mis datos.
mi views.py parece
from django.shortcuts import render client = MongoClient("mongodb://localhost:27017/") db=client.inventory_data def home(request): collection_data_1 = db['orders'] orders = list(collection_data_1.find()) collection_data_2= db['suppliers'] suppliers = list(collection_data_2.find()) return render(request,'home.html',{'orders': orders,'suppliers':suppliers})