有人可以解释一小部分Django代码吗?

时间:2020-03-03 11:14:04

标签: python django

我一直遵循此tutorial,并尝试实施配置文件更新工具。他们提供的一段代码如下:

@login_required
@transaction.atomic
def update_profile(request):
    if request.method == 'POST':
        user_form = UserForm(request.POST, instance=request.user)
        profile_form = ProfileForm(request.POST, instance=request.user.profile)
        if user_form.is_valid() and profile_form.is_valid():
            user_form.save()
            profile_form.save()
            messages.success(request, _('Your profile was successfully updated!'))
            return redirect('settings:profile')
        else:
            messages.error(request, _('Please correct the error below.'))
    else:
        user_form = UserForm(instance=request.user)
        profile_form = ProfileForm(instance=request.user.profile)
    return render(request, 'profiles/profile.html', {
        'user_form': user_form,
        'profile_form': profile_form
    })

我设法弄清了这句话的含义

return redirect('settings:profile')

更改变量后,出现错误:

/ profile /

中的NoReverseMatch

“设置”不是注册的名称空间

我还需要创建其他东西吗?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

重定向需要您的视图名称或某些网址

致电方式:- redirect('profile')

配置文件在您的url文件中定义视图名称。

网址类似:- 路径('profile',profileView,name ='profile'),