Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 如何从模型字段中获取数据并使用模板中的数据进行计算?_Django_Django Models_Django Views - Fatal编程技术网

Django 如何从模型字段中获取数据并使用模板中的数据进行计算?

Django 如何从模型字段中获取数据并使用模板中的数据进行计算?,django,django-models,django-views,Django,Django Models,Django Views,你好,我是django的新手,我有一些问题(对不起,我的英语说得不太好) 我想从模板(输入元素)接收数据 并使用模型数据字段计算该值 例如,在模型字段中,我有每月1000美元的钱。 用户的输入是“3”(例如,3个月),所以我希望结果是3000美元,将其存储在一个变量中,并在输入元素下面显示 如果有人能帮忙。谢谢 这是我的模型 class Mitnadv(models.Model): f_name = models.CharField(max_length = 30) money_

你好,我是django的新手,我有一些问题(对不起,我的英语说得不太好)

我想从模板(输入元素)接收数据 并使用模型数据字段计算该值

例如,在模型字段中,我有每月1000美元的钱。 用户的输入是“3”(例如,3个月),所以我希望结果是3000美元,将其存储在一个变量中,并在输入元素下面显示

如果有人能帮忙。谢谢

这是我的模型

class Mitnadv(models.Model):
    f_name = models.CharField(max_length = 30)
    money_for_month = models.CharField(max_length = 4)
这就是我的观点

class MitnadvDetailView(DetailView):
    model = Mitnadv
    template_name = "mit_app/mitnadv-detail.html"
    context_object_name = "mit"
    list_var = {}

    def post(self,request, **kwargs):
        num_m = request.POST["num-month"]
        self.list_var["num_month"] = num_m
        return HttpResponseRedirect(self.request.path_info)
这是我的模板

  <h2>pay for x mounth</h2>
      <form action="" method="POST">
        {% csrf_token %}
        <input type="number" name="num-month">
        <input type="submit" value="submit">
      </form>
为x安装付费
{%csrf_令牌%}

将此方法放在类中并实现您的需求

def post(self,request, **kwargs):
    obj = MyModel.objects.get()
    money_for_month = obj.money_for_month
    num = request.POST.get('num-month', 0) % 0 is the default value if the num-month doesn't exist
    result = int(money_for_month) * int(num)

    return render(request, 'mit_app/mitnadv-detail.html', {'data': result})

@yohai不客气,请不要忘记勾选这个答案。