Используя Django, я хочу, чтобы мой пользователь при регистрации сразу переходил на страницу создания, но когда я это делаю, он никогда не переходит на страницу создания. Вот мой код

Views.py

#For Cystomer Registration
class CustomerRegistrationView(View):
 def get(self,request):
   form = CustomerRegistrationForm()
   return render(request,'mp/register.html',{'form':form})
 def post(self,request):
   form = CustomerRegistrationForm(request.POST)
   
   if form.is_valid():
    messages.success(request,'Congratulations Registerd Succesfuly ')
    form.save()
    
    success_url = reverse_lazy('profile')
   
   return render(request,'mp/register.html',{'form':form})

#For Creating Profile
class ProfileCreate(LoginRequiredMixin,CreateView):#ye hogia hamara upload wala
model = Profile
fields = ['user_name','user_ethnicity','SelectGender','user_job','user_age','mother_additionalinfo']
success_url = reverse_lazy('profile')
def form_valid(self,form):
    form.instance.user = self.request.user
    success_url = reverse_lazy('profilecreate')
    return super(ProfileCreate,self).form_valid(form)

Urls.py

#for register
     path('register/',views.CustomerRegistrationView.as_view(),name= 'register'),
#for CreateProfile
     path('profilecreate/',views.ProfileCreate.as_view(),name= 'profilecreate'),

Также важно то, что когда я не настроил функцию выхода из системы, она работает, но когда я настраиваю, она не перенаправляет пользователя на другую страницу, а остается на странице регистрации.

Вы можете использовать redirect вместо этого, так что это будет что-то вроде следующего

return redirect("profilecreate")

Также я заметил, что ваш ProfileCreate не является View, я не вижу никакой post или get функции, если это будет страница, вы должны добавить функцию, в вашем случае post функцию.

Вернуться на верх