带有参数的Django重定向视图

伊德卡斯德

在我的应用程序中,我具有包含以下行的文件urls.py:

...
path('home/', views.home, name='home'),
path('page/', views.page, name='page'),
....

在我的view.py文件中,我有两个这样的视图:

def home(request, value=0):
    print("value=", value)
    return render(request, 'template.html', context)


def page(request):
    if bad:
        return redirect(reverse('home'), value=1)

是否有可能具有带有参数的视图功能(如本例中的值),然后使用从页面视图重定向并基于相同的条件(如value = 1)传递一些值,在这种情况下,请使用urls.py?上面的代码无论如何都始终显示value = 0。

我能想到的唯一方法是使用我确实要避免的全局变量...

威廉·范昂塞姆

是的,但是您需要将参数添加到URL:

path('home/', views.home, name='home1'),
path('home/<int:value>/', views.home, name='home2'),

然后,您需要在重定向本身中传递页面以及视图名称,您不应reverse(..)在此处使用

def page(request):
    if bad:
        return redirect('home2', value=1)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章