Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Django中,如何将带有任意参数的反向url从模板传递到视图_Django_Templates - Fatal编程技术网

在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 %}