在 Django 模板中访问临时模型数据?
Accessing temporary model data in a django template?
我有以下视图代码,它向多对多关系中包含的 Django 模型实例添加一些临时数据。我希望能够在模板中访问该数据,但我不确定如何访问。
@login_required()
def shopping_cart(request):
try:
cart = ShoppingCart.objects.get(user__exact=request.user)
except ShoppingCart.DoesNotExist:
cart = ShoppingCart(user=request.user)
cart.save()
for album in cart.albums.all():
album.vat_rate = request.session['vat_rate']
album.total_cost = (((album.price / 100) * album.vat_rate) + album.price)
return render_to_response('sym_money/shopping_cart.html',
{'shopping_cart': cart},
context_instance=RequestContext(request))
我需要能够访问模板中的 vat_rate 和 total_cost,方法是:
{% for album in cart.albums.all %}
{{ album.vat_rate }}
{{ album.total_cost }}
{% endfor %}
None 的临时数据在模型中有任何字段,我也不想将其保存到数据库中,我只想能够从模型中访问模型中的临时数据模板。
在模板中,当您执行 {% for album in cart.albums.all %}
时,您正在创建一个全新的查询集,因此您之前带注释的对象都将被丢弃。
将相册查询集保存为视图中的变量,迭代它并像您正在做的那样注释对象,然后将此变量传递给上下文。
提示:render_to_response
是 oldskool - 只需使用 render
。
我有以下视图代码,它向多对多关系中包含的 Django 模型实例添加一些临时数据。我希望能够在模板中访问该数据,但我不确定如何访问。
@login_required()
def shopping_cart(request):
try:
cart = ShoppingCart.objects.get(user__exact=request.user)
except ShoppingCart.DoesNotExist:
cart = ShoppingCart(user=request.user)
cart.save()
for album in cart.albums.all():
album.vat_rate = request.session['vat_rate']
album.total_cost = (((album.price / 100) * album.vat_rate) + album.price)
return render_to_response('sym_money/shopping_cart.html',
{'shopping_cart': cart},
context_instance=RequestContext(request))
我需要能够访问模板中的 vat_rate 和 total_cost,方法是:
{% for album in cart.albums.all %}
{{ album.vat_rate }}
{{ album.total_cost }}
{% endfor %}
None 的临时数据在模型中有任何字段,我也不想将其保存到数据库中,我只想能够从模型中访问模型中的临时数据模板。
在模板中,当您执行 {% for album in cart.albums.all %}
时,您正在创建一个全新的查询集,因此您之前带注释的对象都将被丢弃。
将相册查询集保存为视图中的变量,迭代它并像您正在做的那样注释对象,然后将此变量传递给上下文。
提示:render_to_response
是 oldskool - 只需使用 render
。