簡體   English   中英

在 Django 中注冊新用戶后采取行動

[英]Taking action after registering new user in Django

我想在使用 UserCreationForm 創建新用戶后立即采取一些措施。 在這種情況下,我需要創建一個新的 Model 實例,它與這個新用戶是一對一的關系。 請告訴我如何將創建此 Model 實例的代碼連接到 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})

您可以像這樣返回新創建的用戶實例new_user=form.save()然后您可以基於此用戶創建另一個 model

 if form.is_valid():
      new_user = form.save()
      YourModel.objects.create(user=new_user,....
      return redirect('login')

我認為信號可以幫助你。

你可以寫一個信號,在 model 的實例創建之后做一些事情。

https://docs.djangoproject.com/en/3.0/topics/signals

https://docs.djangoproject.com/en/3.0/ref/signals

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM