2013-12-08 169 views
0

當我登錄後重定向,或與用戶登錄時,它會返回到登錄屏幕,而不是下一個模板。有人可以告訴我我哪裏出錯了嗎?django重定向到其他網址

我的網址

urlpatterns = patterns('', 
    url(r'^$', views.login, name='login'), 
    url(r'^$', views.index, name='index'), 
    url(r'^logout/$', views.logout, name='logout'), 
    url(r'^register/$', views.register_user, name='register_user'), 
) 

我register_user觀點:

def register_user(request): 
    # False till someone fills in and sends 
    if request.method == "POST": 
     form = RegistrationForm(request.POST) 
     if form.is_valid(): 
      form.save() 
      return HttpResponseRedirect(reverse('index')) 
    else: 
     form = RegistrationForm() 

    return render_to_response('register.html', {'form': form},   
           context_instance=RequestContext(request)) 

現在,當我註冊的,而不是 '指數'

+0

裝飾有'login_required'的'index'看法? – falsetru

+0

此刻我的索引仍然是測試def索引(請求): \t return render(request,'index.html') –

回答

3

我重定向回 '登錄',你有同樣的網址爲loginindex

url(r'^$', views.login, name='login'), 
url(r'^$', views.index, name='index'), 

的應彼此不同:

url(r'^login/$', views.login, name='login'), 
url(r'^$', views.index, name='index'), 
+0

你好,認爲它也可以在1個url上有多個視圖,只要你問爲正確的看法? (足夠的網站只有一個網址,可以運行整個網站?),但現在可以使用這種方式修復此問題 –

+0

@HansdeJong https://docs.djangoproject.com/zh-CN/dev/ref/urlresolvers/#reverse reverse()函數創建一個url字符串,然後你的代碼只是在你的urls.py中抓取適當的URL,在這種情況下登錄 –

+0

好吧,這解釋更多。任何想法如何我可以解決它在相同的網址。我應該使用渲染(請求)嗎? –

相關問題