【发布时间】:2012-08-15 08:48:44
【问题描述】:
我正在尝试将变量(浏览器变量)传递给我应用程序中的所有模板。关于如何让它工作的任何建议?
查看:
def browser(request):
primary_cat_list = Categories.objects.order_by("category")
subcat_list = SubCategories.objects.order_by("sub_category")
product = Productbackup.objects.order_by("website")
browser = list(chain(primary_cat_list, subcat_list, product))
return render_to_response('reserve/templates/base.html', locals(), context_instance=RequestContext(request))
模板:
{% for prod in browser %} {{ prod }}, {% endfor %}
【问题讨论】:
-
我不确定这是否与它有关,但奇怪的是您的函数名为
browser,并且您还分配了一个名为browser的变量。我在 python shell 中做了一些实验,这似乎不是问题,但您可能希望对其进行更改以减少混乱。 -
还要确保您的列表不为空。尝试使用调试器或打印视图中的值。
-
而且,您真的要问如何让变量显示在所有模板中,或者为什么在这种特殊情况下
browser变量不起作用? -
@BrianNeal 我最初想知道为什么没有将浏览器变量传递给 base.html。这将有效地允许我在所有模板中使用该变量,这正是我想要做的。
标签: python django templates view base