2017-10-10 1 views
0

django-allauth을 사용하여 응용 프로그램을 만들려고합니다. 내 Django 버전은 1.11.5입니다. 내가 다른 템플릿에 결과를 표시하기 위해 노력하고장고 템플릿 페이지를 연결할 수 없습니다

: 여기 facebook_personality_traits.html

코드입니다 :

settings.py

SITE_ID = 1 

LOGIN_REDIRECT_URL = 'facebook_personality_traits/' 
SOCIALACCOUNT_QUERY_EMAIL = True 
SOCIALACCOUNT_PROVIDERS = { 
    'facebook': { 
     'SCOPE': ['email', 'user_posts'], 
     # 'AUTH_PARAMS': {'auth_type': 'reauthenticate'}, 
     'METHOD': 'js_sdk', 
     'FIELDS': [ 
      'id', 
      'email', 
      'name', 
      'first_name', 
      'last_name', 
        ], 
     'EXCHANGE_TOKEN': True, 
     'VERIFIED_EMAIL': True 
    } 
} 
ACCOUNT_LOGOUT_ON_GET = True 

views.py

def fb_personality_traits(request): 
    # logger.debug('FB Page Loaded') 
    return render(request, 'home/facebook_personality_traits.html') 

urls.py

url(r'^facebook_personality-traits/$', views.fb_personality_traits, name="fb_personality_traits"), 

facebook_personality_traits.html

<html> 


<body> 

Welcome back {{ user.first_name }} {{ user.last_name}} 


<a href="/">Home</a> 
</body> 


</html> 

그러나 나는 할 수 효과적으로 실행되도록 할 수 있습니다. 나는 사이트에 대한 URL을 선언 한 몇 가지 문제가 있다고 생각합니다.

issue snapshot.

이 친절하게 나에게 놓친 부분을 제안

다음은 오류의 스냅 샷입니다.

답변

2

당신이 당신의 응용 프로그램에 대해 다른 urls.py를 사용하는 것 같다 다른 URL을 변경하는

facebook_personality_traits/ 
#    ^^^^^^ 

필요성을 테스트합니다. 그러나 당신은 주 urls.py에 귀하의 URL을 배치.

url(r'^login/token/facebook_personality_traits/$', views.fb_personality_traits, name="fb_personality_traits"), 

가 BTW 당신이 당신의 URL의 끝에 과도한 & 문자를 가지고, 나는 당신이하고 싶은 생각 :이 같은 facebook_callback URL을 넣어 어디 애플 리케이션 urls.py를에

url(r'^facebook_personality-traits/&', views.fb_personality_traits, name="fb_personality_traits"), 

이 줄을 추가 정규 표현식에서 줄의 끝을 나타내는 $ 기호를 넣으십시오.

편집 1 : 문제에 대한

내 첫 인상은 당신이 올바른 위치에 URL을 넣어하지 않았다하지만 지금까지 내가 보는 바와 같이, 리디렉션은이 경로 /accounts/facebook/login/token/ 아래 페이지에서 수행했다. 리디렉션 URL에 이 없기 때문에 settings.py에 상대 리디렉션이 발생합니다.

는 다음과 같이 URL을 수정 : 당신의 settins에서

url(r'^facebook_personality_traits/$', views.fb_personality_traits, name="fb_personality_traits"), 

합니다.평가 설정 한 리디렉션 URL을 아래와 같이 :이 상대 URL이기 때문에

LOGIN_REDIRECT_URL = 'facebook_personality_traits/' 

, 그것은 URL /accounts/facebook/login/token/facebook_personality_traits/로 이동합니다. LOGIN_REDIRECT_URL의 시작 부분에 슬래시 /을 넣으면 문제가 해결됩니다.

LOGIN_REDIRECT_URL = '/facebook_personality_traits/' 
+0

우리가 [채팅에서이 토론을 계속]하자 (http://chat.stackoverflow.com/rooms/156342/discussion-between-scriptmonster-and-jaffer-wilson). – scriptmonster

2

당신의 URL은 :

facebook_personality-traits/ 

하지만 당신은 어딘가