для приложения, которое я создаю, требуется раздел управления активами, в котором будут отображаться общие активы, общая сумма фиксированных, общая сумма на месте и общая сумма зарезервированных, однако блоки отображаются, а суммы — нет.
во время отладки оператора печати в представлениях выводится на консоль, и если я пытаюсь загрузить HTML-код управления активами, который он отображает, но при включении его в мой базовый HTML-код суммы не отображаются.
Мои взгляды:
def asset_dashboard(request):
total_assets_count = Asset.objects.count()
onsite_assets_count = Asset.objects.filter(status='onsite').count()
fixed_assets_count = Asset.objects.filter(status='fixed').count()
booked_assets_count = Asset.objects.filter(status='booked').count()
print("Total Assets Count:", total_assets_count)
print("Onsite Assets Count:", onsite_assets_count)
print("Fixed Assets Count:", fixed_assets_count)
print("Booked Assets Count:", booked_assets_count)
context = {
'total_assets_count': total_assets_count,
'onsite_assets_count': onsite_assets_count,
'fixed_assets_count': fixed_assets_count,
'booked_assets_count': booked_assets_count,
}
return render(request, 'asset_dashboard.html', context)
Моя база.HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset = "UTF-8" />
<meta http-equiv = "X-UA-Compatible" content = "IE=edge" />
<meta name = "viewport" content = "width=device-width, initial-scale=1.0" />
<title>{% block title %}{% endblock %}</title>
<link rel = "stylesheet" href = "https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" integrity = "sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" crossorigin = "anonymous">
{% load static %}
<link rel = "stylesheet" href = "{% static './css/main.css' %}">
<style>
/* CSS to style the container */
.container {
height: 200px;
background-image: url('static/images/VOClogo.jpg');
background-size: contain;
background-repeat: no-repeat;
background-position: center;
opacity: 0.2;
color: white;
font-size: 24px;
text-align: center;
padding-top: 10px;
}
</style>
</head>
<body>
{% include 'navbar.html' %}
<form class = "d-flex" method = "GET" action = "{% url 'asset_search' %}">
<input class = "form-control me-2" type = "search" name = "q" placeholder = "Search by tag or category" aria-label = "Search">
<button class = "btn btn-outline-success" type = "submit">Search</button>
</form>
<br>
{% include 'asset_dashboard.html' %}
{% block content %}
{% endblock content %}
</div>
<script src = "https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity = "sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin = "anonymous"></script>
<script src = "https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity = "sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns" crossorigin = "anonymous"></script>
</body>
</html>
моя информационная панель активов:
<br>
<div class = "container-fluid">
<div class = "row">
<div class = "col" align = "center">
<h1>Asset Management System</h1>
<hr>
</div>
</div>
<br>
<div class = "row">
<div class = "col-md">
<div class = "card text-center text-green nb-3">
<div class = "card-header">
<h5 class = "card-title">Total Orders</h5>
</div>
<div class = "card-body">
<h3 class = "card-title">
{{total_assets_count}}
</h3>
</div>
</div>
</div>
<div class = "col-md">
<div class = "card text-center text-green nb-3" >
<div class = "card-header">
<h5 class = "card-title">Total fixed</h5>
</div>
<div class = "card-body">
<h3 class = "card-title">
{{fixed_assets_count}}
</h3>
</div>
</div>
</div>
<div class = "col-md">
<div class = "card text-center text-green nb-3" >
<div class = "card-header">
<h5 class = "card-title">Total Onsite </h5>
</div>
<div class = "card-body">
<h3 class = "card-title">
{{onsite_assets_count}}
</h3>
</div>
</div>
</div>
<div class = "col-md">
<div class = "card text-center text-green nb-3">
<div class = "card-header">
<h5 class = "card-title">Total Booked</h5>
</div>
<div class = "card-body">
<h3 class = "card-title">
{{booked_assets_count}}
</h3>
</div>
</div>
</div>
</div>
<br>
Я увидел в подборках неправильные заголовки, поэтому изменил их, скопировав фрагменты кода.
во время отладки оператора печати в представлениях выводится на консоль, и если я пытаюсь загрузить HTML-код управления активами, который он отображает, но при включении его в мой базовый HTML-код суммы не отображаются.





Первый:
Вам либо следует визуализировать базу, если вы используете include:
def asset_dashboard(request):
total_assets_count = Asset.objects.count()
onsite_assets_count = Asset.objects.filter(status='onsite').count()
fixed_assets_count = Asset.objects.filter(status='fixed').count()
booked_assets_count = Asset.objects.filter(status='booked').count()
print("Total Assets Count:", total_assets_count)
print("Onsite Assets Count:", onsite_assets_count)
print("Fixed Assets Count:", fixed_assets_count)
print("Booked Assets Count:", booked_assets_count)
context = {
'total_assets_count': total_assets_count,
'onsite_assets_count': onsite_assets_count,
'fixed_assets_count': fixed_assets_count,
'booked_assets_count': booked_assets_count,
}
return render(request, 'My base.HTML', context)
или используйте extend в шаблоне asset_dashboard.html, чтобы расширить файл My base.HTML.
Второй:
Если вы используете include, вы должны передать данные следующим образом:
{% include "My base.HTML" with total_assets_count=total_assets_count fixed_assets_count=fixed_assets_count onsite_assets_count =onsite_assets_count booked_assets_count=booked_assets_count %}