1 回答

TA貢獻1875條經驗 獲得超3個贊
我認為你寫的兩個信號是不必要的。此外,此行也不起作用:
profile.user = Profile.objects.get(user=request.user)
因為您尚未登錄。未登錄,您將無法在此處獲取用戶實例。但沒有必要。因為,您可以從另一個窗體獲取用戶實例。喜歡這個:
def register(request):
if request.method == 'POST':
form = UserRegisterForm(request.POST)
profile_form = ProfileForm(request.POST, request.FILES)
if form.is_valid() and profile_form.is_valid():
user = form.save()
profile = profile_form.save(commit=False)
profile.user = user
profile.save()
username = form.cleaned_data.get('username')
messages.success(request, f'Your account has been created! You are now able to log in')
return redirect('login')
else:
form = UserRegisterForm()
profile_form = ProfileForm()
return render(request, 'users/register.html', {'form': form, 'profile_form': profile_form})
另外,請務必刪除這兩個信號。
添加回答
舉報