在 Django 中注册新用户后采取行动

我想在使用 UserCreationForm 创建新用户后立即采取一些行动。在这种情况下,我需要创建一个新的模型实例,它与这个新用户处于一对一关系。请告诉我如何将创建此模型实例的代码连接到 UserCreations 表单或注册视图。我知道 UserCreationForm 中有一个最终创建新用户的保存方法,但我不知道如何将它连接到我的代码


这就是我的观点


def signup(request):

    if request.method == "POST":

        form = MyUserCreationForm(request.POST)

        if form.is_valid():

            form.save()

            

            return redirect('login')

    else:

        form = MyUserCreationForm()

    return render(request, 'registration/signup.html', {"form": form})


慕容708150
浏览 81回答 2
2回答

千万里不及你

您可以像这样返回新创建的用户实例new_user=form.save(),然后您可以基于该用户创建另一个模型 if form.is_valid():      new_user = form.save()      YourModel.objects.create(user=new_user,....      return redirect('login')

侃侃无极

我认为信号可以帮助你。你可以写一个信号,在模型实例创建后做一些事情。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python