【发布时间】:2011-02-08 15:34:23
【问题描述】:
我有一个显示列表项的视图。
def edit_order(request, order_no):
try:
status_list = models.Status.objects.all()
order = models.Order.objects.get(pk = order_no)
if order.is_storage:
items = models.StorageItem.objects.filter(orderstoragelist__order__pk = order.pk)
else:
items = models.StorageItem.objects.filter(orderservicelist__order__pk = order.pk)
except:
return HttpResponseNotFound()
我想将这些项目列表放在另一个视图中。不幸的是,事实证明这比我想象的要棘手。
@login_required
def client_items(request, client_id = 0):
client = None
items = None
try:
client = models.Client.objects.get(pk = client_id)
items = client.storageitem_set.all()
item_list = models.StorageItem.objects.filter(orderstoragelist__order__pk = order.pk)
except:
return HttpResponse(reverse(return_clients))
return render_to_response('items.html', {'items':items, 'client':client, 'item_list':item_list}, context_instance = RequestContext(request))
我想也许我可以粘贴项目的定义,然后调用 item_list,但这不起作用。任何想法
items.html
{% for item in item_list %}
{{item.tiptop_id}
{% endfor %}
【问题讨论】:
-
不是很清楚你想在这里做什么。 status_list 已定义但未在您的第一个示例中使用。是否相关?您最好添加一个 Manager 方法,这是向模型添加模型范围行为的常用方法...
-
我在一个名为 edit_order 的视图上有一个项目列表。我想在 client_item 视图中显示相同的项目列表。就是这样。
-
您好,您在尝试在模板上渲染 item_list 或类似的东西时遇到错误吗?
-
我得到一个白屏,屏幕上印有网址。 /tiptop/client 在这种情况下。
-
这样的话,我们也可以看看你的模板吗?
标签: django templates list views