python中redirect如何传值_python - redirect()未将参数传递给视图_python_酷徒编程知识库...

我在Django视图中遇到了redirect()问题。

我定义了两个视图,如下所示:# view for managing a user's account

@login_required

@require_http_methods(['GET'])

def view_account(request, updated=False):

context = {

'user': request.user,

'cart_items': ShoppingCartItem.objects.filter(user_key=request.user),

'updated': updated,

}

print("DEBUG: view_account: %s" % updated) # debug

return render(request, 'registration/view_account.html', context)

和# view for updating information about a user's account

@login_required

@require_http_methods(['GET', 'POST'])

def update_account_info(request):

if request.method == 'POST':

# if this is a POST, user has submitted updated information

form = UpdateUserInfoForm(request.POST, instance=request.user)

if form.is_valid():

# if valid, redirect to view_account

form.save()

# return render(request, 'registration/view_account.html', context)

return redirect('/view_account', updated=True)

对于url,这些函数看起来如下所示:path('view_account', views.view_account, name='view_account'),

path('update_account', views.update_account_info, name='update_account'),

在第二个函数中,我试图将用户重定向到view_account()视图,并传入updated=True参数,通知用户他们的信息已更新,当我运行它时,不会改变updated的默认值。

你可以看到,我在view_account()视图中有一个调试语句,输出如下:[04/Nov/2019 16:51:33]"POST /update_account HTTP/1.1" 302 0

DEBUG: view_account: False

[04/Nov/2019 16:51:33]"GET /view_account HTTP/1.1" 200 1247

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值