2016-04-18 4 views
1

Я сделал регистрационную форму. Когда пользователи регистрируются, они должны быть перенаправлены на другой URL-адрес, чтобы работать с другим видом.Перенаправление пользовательской регистрации в django

Мой view.py

def register(request): 
    if request.method=='POST': 
     user_form=UserRegistrationForm(request.POST) 
     if user_form.is_valid(): 
      new_user=user_form.save(commit=False) 
      new_user.set_password(
            user_form.cleaned_data['password']) 
      new_user.save() 
      company=Company.objects.create(user=new_user) 
      new_user = authenticate(username=user_form.cleaned_data['username'], 
            password=user_form.cleaned_data['password2'], 
            ) 
      login(request, new_user) 
      return render(request,'account/register_done.html',{'new_user':new_user}) 
    else: 
     user_form=UserRegistrationForm() 
    return render(request,'account/register.html',{'user_form':user_form}) 

urls.py

urlpatterns = [ 
       #url(r'^login/$',views.user_login,name='login'), 
       url(r'^login/$','django.contrib.auth.views.login',name='login'), 
       url(r'^logout/$','django.contrib.auth.views.logout',name='logout'), 
       url(r'^logout_then_login/$','django.contrib.auth.views.logout_then_login',name='logout_then_login'), 
       url(r'^$',views.dashboard,name='dashboard'), 
       url(r'^register/$',views.register,name='register'), 
       url(r'^addcompany/$',views.companyadd,name='companyadd'), 
       url(r'^addcompanyreg/$',views.companyaddreg,name='companyaddreg'), 
       #url(r'^createinvoice/$',views.createinvoice,name='createinvoice'), 
       url(r'^createreceivable/$',views.createreceivables,name='createreceivable'), 
       ] 

Когда пользователи зарегистрироваться они должны быть перенаправлены на

url(r'^addcompanyreg/$',views.companyaddreg,name='companyaddreg'), 

Пожалуйста, руководство.

ответ

2

Просто сделайте редирект после обрабатывать запрос POST вместо перерисовка формы:

from django.core.urlresolvers import reverse 
.... 

if user_form.is_valid(): 
    .... 
    return HttpResponseRedirect(reverse('companyaddreg')) 
    #return render(request,'account/register_done.html',{'new_user':new_user}) 
+0

Спасибо. Это сработало. –

Смежные вопросы