【发布时间】:2019-11-28 09:02:19
【问题描述】:
我试图弄清楚如何为我的用户创建一个进度跟踪器,以便他们可以看到他们填写了多少 % 的表单。
我不知道如何创建该函数,然后在模板中使用它/调用它。
Views - 计算进度功能
我班级中的函数目前看起来像这样(我故意在班级中排除了表格以避免混乱):
class OpdaterEvalView(ModelFormMixin, DetailView):
template_name = 'evalsys/evalueringer/evaluering_forside.html'
model = Evaluation
form_class = OpdaterEvalForm
def calculate_progress(self, evaluation=None):
value = [evaluation.communication, evaluation.motivate_others,
evaluation.development, evaluation.cooperation]
count = 0
if value[0]:
count += 1
if value[1]:
count += 1
if value[2]:
count += 1
if value[3]:
count += 1
return count * 25
这个想法是,它将检查数据库中存在值的数组,如果存在 0、1、2、3 值,它将显示 25%、50%、75%、100%。我只是真的不知道如何让这个功能在我的模板中工作?我怎么称呼它?也许这个功能在课堂之外?但是我该如何针对评估的具体pk。
更新 - 更多信息
我有一个评估模型和一个称为关系的模型表单,其中我有四个值:
value = [evaluation.eval_relations.communication, evaluation.eval_relations. motivate_others,
evaluation.eval_relations.development, evaluation.eval_relations.cooperation]
我有一个名为 eval_relations 的评估模型的外键。
【问题讨论】:
-
看起来很有趣,也许你可以使用django自定义模板标签(docs.djangoproject.com/en/2.2/howto/custom-template-tags)或者AJAX
-
如果你想在不刷新页面的情况下调用服务器,那么你必须做一些ajax。我将从查看 django-ajax 库开始。
-
当用户填写表格时,您是否更改百分比或保存在数据库中的数据百分比?
-
我不需要在不刷新页面的情况下更新它,因为当用户保存评估时页面会更新,然后返回到“评估概述”页面,他们将能够看到评估的概述和进展。我一直在查看模板标签..但我仍在努力弄清楚如何使该功能与模板一起使用。
-
@sandeep 保存评估时数据库中数据的百分比
标签: python django django-models django-templates django-views