She*_*009 0 django variables templates views
我在视图中有一个名为client_items的项目列表.我希望能够使用变量items_list`,这是另一个在client_items中称为edit_order的视图.那么有没有办法从不同的视图调用变量?(从另一个视图导入变量并且能够在另一个视图中使用此变量)我不能只在client_items视图中写入它,因为它需要order_no扩充.
编辑:这是我最新的观点.我尝试创建另一个名为items_in_edit_order的视图.此时我得到`order_no未定义.
def items_in_edit_order(order_no):
order = models.Order.objects.get(pk = order_no)
return order
def client_items(request, client_id = 0):
client = models.Client.objects.get(pk = client_id)
items = client.storageitem_set.all()
order = items_in_edit_order(order_no)
return render_to_response('items.html', {'items':items, 'client':client, 'order':order}, context_instance = RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
只是添加,因为没有人说过这个,似乎你还没理解这个:
您的client_items视图必须以某种方式访问order_no变量.如果由于某种原因,该值未通过URL传递,则必须从somehwere获取值.只有三个真实位置可以获得此值:
order_no = Order.objects.filter(cart__user=request.user).order_no,以获取与用户当前购物车关联的订单,然后返回该order_no值.order_no设置了值,此时您将使用它保存它request.session['order_no']=order_no.稍后,当您想要检索值时,您只需order_no=request.session['order_no']在视图中使用.resp = render_to_response(template_name, locals(), RequestContext(request))和然后写一个cookie吧resp.set_cookie("order_no", order_no).你找回它使用request.COOKIES['order_no']还有其他一些奇怪的地方可以存储价值:文件,缓存,其他数据存储格式等.完全没有推荐.
| 归档时间: |
|
| 查看次数: |
3013 次 |
| 最近记录: |