python - Django中的html显示问题可能来自view.py结构
问题描述
我正在构建一个 django 应用程序,但我对前端的东西非常不熟悉。最终我想构建一个仪表板,但现在我在构建一个与我希望它显示的内容相匹配的视图方面有些挣扎。
到目前为止,视图类已很好地转移到前端(运行服务器时没有错误),但它不显示值,而是显示黑点。这里附上我的模型、html 代码以及我的 view.py
class Classification(models.Model):
Class = models.CharField(max_length=10, primary_key=True)
revenue_proportion = models.FloatField(default=0)
Quantity_of_item = models.IntegerField(default=0)
percentage_of_items = models.FloatField(default=0)
cumul_percentage_of_items = models.FloatField(default=0)
inventory_dollars = models.FloatField(default=0)
inventory_dollars_percentage = models.FloatField(default=0)
cumul_inventory_dollars_percentage = models.FloatField(default=0)
average_margin = models.FloatField(default=0)
average_sales_week = models.FloatField(default=0)
weekly_percentage_sales = models.FloatField(default=0)
def __str__(self):
return self.Class
class stock_anormal(models.Model):
reference_anormales = models.CharField(max_length=10, primary_key=True)
stock_alerte_calcule = models.FloatField(default=0)
stock_alerte_recommande = models.FloatField(default=0)
en_alerte = models.FloatField(default=0)
def __str__(self):
return self.reference_anormales
class stock_negatif(models.Model):
reference_negatives = models.CharField(max_length=10,primary_key=True)
stock_alerte_calcule = models.FloatField(default=0)
stock_alerte_recommande = models.FloatField(default=0)
risque_de_rupture = models.FloatField(default=0)
def __str__(self):
return self.reference_negatives
class niveau_service(models.Model):
reference_service = models.CharField(max_length=10, primary_key=True)
niveau_service_calcule = models.FloatField(default=0)
niveau_service_recommande = models.FloatField(default=0)
alerte_niveau_service = models.FloatField(default=0)
def __str__(self):
return self.reference_service
class top_sellers(models.Model):
reference = models.CharField(max_length=10, primary_key=True)
avg_per_week = models.FloatField(default=0)
def __str_(self):
return self.reference
<ul>
{% for reference in top_sellers_list %}
<li><a href="/dashboard/{{ top_sellers_list.reference }}/"> {{top_sellers_list.avg_per_week }}</a></li>
{% endfor %}
</ul>
<ul>
{% for reference in classification %}
<li><a href="/dashboard/{{ classification.Class }}/"> {{classification.inventory_dollars }}</a></li>
{% endfor %}
</ul>
<ul>
{% for reference in anormal %}
<li><a href="/dashboard/{{ anormal.reference_anormales }}/"></a></li>
{% endfor %}
</ul>
<ul>
{% for reference in negat %}
<li><a href="/dashboard/{{ negat.reference_negatives }}/"></a></li>
{% endfor %}
</ul>
<ul>
{% for reference in service %}
<li><a href="/dashboard/{{ service.reference_service }}/"></a></li>
{% endfor %}
</ul>
from django.shortcuts import render, get_object_or_404
from django.http import HttpResponse, Http404
from .models import top_sellers, Classification, stock_anormal, stock_negatif, niveau_service
# Create your views here.
def dashboard(request):
top_sellers_list = top_sellers.objects.order_by('avg_per_week')[:8]
classification = Classification.objects.order_by('Class')
anormal = stock_anormal.objects.order_by('reference_anormales')
negat = stock_negatif.objects.order_by('reference_negatives')
service = niveau_service.objects.order_by('reference_service')
context1 = { 'top_sellers_list' : top_sellers_list,
'classification' : classification,
'anormal' : anormal,
'negat' : negat,
'service' : service
}
return render(request, 'dashboard/index.html', context1)
我对出了什么问题感到困惑,想知道是否有人知道出了什么问题,以及这是否是构建我的视图类的有效方法,因为我知道我想使用所有这些数据来制作仪表板。
解决方案
您在 for 循环中引用了错误的变量。您必须使用在单词之后声明的变量名for
来引用循环内的实例。
<ul>
{% for t in top_sellers_list %}
<li><a href="/dashboard/topsellers/{{ t.id }}/">{{t.avg_per_week }}</a></li>
{% endfor %}
</ul>
<ul>
{% for c in classification %}
<li><a href="/dashboard/classifications/{{ c.id }}/"> {{c.inventory_dollars }}</a></li>
{% endfor %}
</ul>
<ul>
{% for a in anormal %}
<li><a href="/dashboard/anormals/{{ a.id }}/">{{ a.reference_anormales }}</a></li>
{% endfor %}
</ul>
<ul>
{% for n in negat %}
<li><a href="/dashboard/negats/{{ n.id }}/">{{ n.reference_negatives }}</a></li>
{% endfor %}
</ul>
<ul>
{% for s in service %}
<li><a href="/dashboard/services/{{ s.id }}/">{{ s.reference_service }}></a></li>
{% endfor %}
</ul>
请注意,我也更改了链接,例如
推荐阅读
- c++ - 通过 const 引用传递指针
- android - 当我清理我的应用程序时,android studio 服务不起作用
- node.js - 如何在 MongoDB 中插入列表并插入嵌套的嵌入列表
- c# - Azure Function 记录每个调用的方法并记录到 Azure Log Analytics 工作区
- python - 想在一个函数中查找年同比和季度计算
- node.js - 有没有办法识别快速服务器到服务器的请求来源
- postgresql - psql 命令问题与//(双斜杠)
- jquery - 无法使用 ajax GET 显示数据,因为 url 中有错误
- macos - 在任务中使用 Ansible 成为密码
- flutter - 如何在颤动中自定义表格日历标题