在Django中,如何将带有任意参数的反向url从模板传递到视图
我有一个看法:在Django中,如何将带有任意参数的反向url从模板传递到视图,django,templates,Django,Templates,我有一个看法: def partnered_item_edit(request, item_id, return_to='delivery_manager'): item = get_object_or_404(PartneredItem, pk=item_id) ... delivery.save() return redirect(return_to) 这样做的目的是使其可重用,以便我可以从程序中的不同位置使用此视图,并将其重定向到用户以前工作的视图 在模板中,我有: <
def partnered_item_edit(request, item_id, return_to='delivery_manager'):
item = get_object_or_404(PartneredItem, pk=item_id)
...
delivery.save()
return redirect(return_to)
这样做的目的是使其可重用,以便我可以从程序中的不同位置使用此视图,并将其重定向到用户以前工作的视图
在模板中,我有:
<p><a href="{% url 'partnered_item_edit' item_id=item.id return_to='delivery_view' %}" class="btn btn-default ...
但我也希望它在程序的其他部分重定向到这一点,例如:
def delivery_manager(request):
date = datetime.date.today()
(此项不需要交付\u id
)
我还想将此视图连接到其他模板中,并将此技术用于其他重定向/视图组合。基本上,我在寻找一些可以让我做的事情:
reverse('delivery_view', args=('delivery_id'))
或
在模板中
然后再一次。。。我是不是在努力工作?我需要制作一个模板过滤器来实现这一点吗
谢谢您的帮助。我建议您更改一下
合作项目编辑的逻辑。
视图:
def partnered_item_edit(request, item_id, return_to_delivery=False):
item = get_object_or_404(PartneredItem, pk=item_id)
...
delivery.save()
if return_to_delivery:
return redirect('delivery_view', args=(delivery.pk,))
else:
return redirect('delivery_manager')
如果要编辑项目并重定向到delivery manager,请在模板中使用:
{% url 'partnered_item_edit' item_id=item.id %}
否则,如果要重定向到传递,请使用:
{% url 'partnered_item_edit' item_id=item.id return_to_delivery=True %}
希望这些有帮助
{% url 'partnered_item_edit' item_id=item.id %}
{% url 'partnered_item_edit' item_id=item.id return_to_delivery=True %}