如何将 django 模型字段传递给函数,并将变量返回到上下文以在模板中使用



我有一些从表单中的用户那里收集的值,这些值被保存到数据库中。 我想获取这些值,在函数中对它们执行操作,然后返回它们,以便我可以将它们与其他上下文一起使用。

这是我的模型:

#models.py file
class MyModel(models.Model):
    varA = models.PositiveIntegerField()
    varB = models.PositiveIntegerField()
    varC = models.PositiveIntegerField()

这是我正在使用的外部函数:

#makecalc.py
def MakeCalc(varA, varB, varC):
    #simplified from what I am actually doing
    varD = varA*varB**varC 
    varE = varA+varB+varC
    return varD, varE

这是 views.py 文件:

#views.py file
from .makecalcs import MakeCalc
class MySummary(DetailView):
    model = MyModel
    def get_vars(self):
        varD, varE = MakeCalc(varA, varB, varC) #Am I passing this correctly?
        return varD, varE #How do I send these to context?

最后是 html:

<p> you input: {{ MyModel.varA }}</p>
<p> you input:{{ MyModel.varB }}</p>
<p> you input:{{ MyModel.varC }}</p>
<p> I output:{{ varD }}</p> #how do I call this?
<p> you input:{{ varE }}</p> #how do I call this?

所以,我的问题是,如何将 varD、varE 添加到上下文中,以便我可以将其与模型中的 varA、varB 和 varC 一起使用?

将 get_context_data(( 方法添加到视图中,如下所示:

def get_context_data(self, **kwargs):
    context = {}
    context['your_custom_var'] = 'your_custom_value'
    return super(MySummary, self).get_context_data(**context)

最新更新