Django转换和多视图
我有表格Django转换和多视图,django,forms,Django,Forms,我有表格 amount = forms.IntegerField(label='Amount :',help_text='enter price') 和模板html {% if contact_data.amount %} <h4> Amount : {{ contact_data.amount }}</h4> {%if contact_data.amount%} 金额:{{contact_data.Amount}} 我想在模板html中打印'amount'和'a
amount = forms.IntegerField(label='Amount :',help_text='enter price')
和模板html
{% if contact_data.amount %}
<h4> Amount : {{ contact_data.amount }}</h4>
{%if contact_data.amount%}
金额:{{contact_data.Amount}}
我想在模板html中打印'amount'和'amount'*1,75和'amount'/0.45?最佳解决方案是什么?我不确定我是否理解这个问题……但如果您想做的是显示
金额
、金额*1.75
和装载/0.45
(不确定您是否打算在此处再次乘法)。那么……有很多方法可以做到这一点
from django.shortcuts import render_to_response
def my_view(request):
# Assuming a function get_contact_data() because I don't know where you are
# getting this.
contact_data = get_contact_data()
return render_to_response(
'polls/detail.html',
{
'amount_one': contact_data.amount,
'amount_two': contact_data.amount * 1.75,
'amount_three': contact_data.amount / 0.45,
}
)
# And then in the template...
<h4> Amount One: {{ amount_one }}</h4>
<h4> Amount Two: {{ amount_two }}</h4>
<h4> Amount Three: {{ amount_three }}</h4>
从django.shortcuts导入渲染到响应
定义我的视图(请求):
#假设函数get_contact_data(),因为我不知道您在哪里
#得到这个。
联系人\数据=获取\联系人\数据()
返回render\u to\u响应(
“polls/detail.html”,
{
“金额”:联系“数据金额”,
“金额”\u two:联系\u data.amount*1.75,
“金额三”:联系“数据金额/0.45”,
}
)
#然后在模板中。。。
金额一:{{Amount_One}
金额二:{{金额二}
金额三:{{金额三}
<h4> Amount : {{ contact_data.amount }}</h4>
<h4> Amount : {{ contact_data.amount|mul:1.75 }}</h4>
<h4> Amount : {{ contact_data.amount|div:0.45 }}</h4>
金额:{{contact_data.Amount}
金额:{contact_data.Amount{mul:1.75}
金额:{contact_data.Amount|div:0.45}
from django.db import models
class ContactData(models.Model):
amount = models.IntegerField()
@property
def amount_two(self):
return self.amount * 1.75
@property
def amount_three(self):
return self.amount / 0.45
# And then in the template...
<h4> Amount One: {{ contact_data.amount }}</h4>
<h4> Amount Two: {{ contact_data.amount_two }}</h4>
<h4> Amount Three: {{ contact_data.amount_three }}</h4>
来自django.db导入模型的
类别ContactData(models.Model):
amount=models.IntegerField()
@财产
def数量(自身):
返回自付金额*1.75
@财产
def数量_三(自身):
返回自付金额/0.45
#然后在模板中。。。
金额一:{{contact_data.Amount}}
金额二:{{contact_data.Amount_Two}
金额三:{contact_data.Amount_Three}
如果要在视图中执行此操作并且正在使用,请使用将预先计算的值添加到传递到模板的上下文中 在
视图.py中
:
from django.views.generic import DetailView
from .models import YourModel
class YourModelDetailView(DetailView):
model = YourModel
def get_context_data(self, **kwargs):
context = super(YourModelDetailView, self).get_context_data(**kwargs)
context['amount_mult'] = self.contact_data.amount * 1.75
context['amount_div'] = self.contact_data.amount / 0.45
return context
然后在模板中,您可以使用如下内容:
{{amount\u mult}
和{amount\u div}
您还可以使用@mfcovington所指示的基于类的视图来执行此操作