2016-12-30 2 views
-1

대시 보드를 포함하여 일부 페이지에 로그인을 시도하고 있습니다. 여기에 내 사이트의 루트에 내 대시 보드 뷰입니다 : sitename.com/는사용자 인증시 Django가 리디렉션 URL을 찾을 수 없음

@login_required 
def index(request): 
    print(request.session['user_email']) 
    context_dict = {} 

    return render(request, 'dashboard/index.html', context_dict) 

내 프로젝트의 URL 파일 :

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^job/', include('job.urls')), 
    url(r'^welcome/', include('welcome.urls')), //the app for logging in 
    url(r'^$', include('dashboard.urls')), //main dashboard app 
    # s 

] 

내 대시 보드 애플리케이션 URL 파일 :

urlpatterns = [ 
    url(r'$', views.index, name='index'), 
    url(r'^signup/$', views.signup, name='signup'), 
    url(r'^login/$', views.auth_login, name='login'), 
    url(r'^logout/$', views.user_logout, name='logout'), 
] 

내가 시도하고 로그 아웃 한 다음에/http://127.0.0.1:8000/welcome?next=/이 내 프로젝트 URL 파일의 URL과 일치하지 않는다는 메시지를받습니다. 로그인 확인이 작동하고 있으므로 GET 변수가 설정되면 url을 알 수 없습니다.

+1

url (r '^ $', include ('dashboard.urls')), 주어진 URL 파일 위치에 doller $를 사용하는 것은 잘못된 방법입니다. $ doller 대시 보드 URL을 사용하면 작동하지 않습니다. –

답변

0

마침내 작동하게되었습니다. 이것은 내 경로입니다 :

에 오신 것을 환영합니다 응용 프로그램 루트 (/ 아웃 로깅을위한 응용 프로그램)

urlpatterns = [ 
    url(r'^$', views.index, name='index'), 
    url(r'^signup/$', views.signup, name='signup'), 
    url(r'^/login/$', views.auth_login, name='login'), 
    url(r'^/logout', views.user_logout, name='logout'), 
] 
전체 프로젝트에 대한

홈페이지 경로 :

urlpatterns = [ 
    url(r'^welcome', include('welcome.urls')), 
    url(r'^', include('dashboard.urls')), 

] 

지금 내가 어떤 오류를 얻을하지 않습니다 URL에 다음 변수를

http://127.0.0.1:8000/welcome?next=/

나는 사용자가 성공적으로 로그인하면 javacript 파일에 다음 값을 부여하고 리디렉션합니다. * 나는 ajax를 사용하여 사용자를 인증합니다.

1

contrib.auth에서 django의 기본 로그인을 사용하고 있으므로 next as an extra_context dict을 전달하십시오.

url(r'^login/$', 'django.contrib.auth.views.login', 
    {'template_name': 'login.html', 'extra_context': {'next':'/'}}) 

또 다른 해결책이이 문제를 해결할 수 있는지 알고 자체가

@login_required(login_url='/login/') 
def index(request): 
print(request.session['user_email']) 
context_dict = {} 

return render(request, 'dashboard/index.html', context_dict) 

하자 login_required 장식에 로그인 URL을 지정하는 것입니다. HTH :)

관련 문제