【发布时间】:2020-05-05 19:13:22
【问题描述】:
我是 django 的新手,我想知道是否可以在 views.py 中重用代码和注释输出。
我创建了许多新的注释输出,我想重复使用这些输出来找出带有图表和关键指标的仪表板。我不喜欢重写所有代码,因为我不会遵循 DRY 原则。
广告示例我有以下视图,在其他视图中重用此代码的最佳方法是什么?
def conto_economico(request):
# Creazione tabella materie prime, sussidiarie, di consumo e merci
defaults = list(0 for m in range(12))
elements = dict()
for conto_id, year, month, totale in(Materiale.objects.values_list('conto__nome', 'data__year', 'data__month').annotate(totale=ExpressionWrapper(Sum(F('quantita') * F('prezzo')),
output_field=FloatField())).values_list('conto__nome', 'data__year', 'data__month', 'totale').order_by("conto_id")) :
if conto_id not in elements.keys():
elements[conto_id]=list(defaults)
index=month-1
elements[conto_id][index]=totale
total_elements={'Per materie prime, sussidiarie, di consumo e di merci': [sum(t) for t in zip(*elements.values())],}
context= {
'elements': elements,
'total_elements':total_elements,
}
return render(request, 'conto_economico/conto_economico.html', context)
【问题讨论】:
标签: django django-models django-forms django-views django-templates