我正在尝试使用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>
但我能够让它有效运行。我想有一些问题我已经为网站声明了网址。以下是错误的快照:
请建议我错过的部分。
答案 0 :(得分:2)
你的网址:
facebook_personality-traits/
但你测试了其他网址
facebook_personality_traits/
# ^^^^^^
需要改变某处
答案 1 :(得分:2)
您似乎正在为您的应用使用不同的urls.py.但是,您将您的网址放在main urls.py。
TgaHeader
将此行添加到您的应用urls.py中,您将url(r'^facebook_personality-traits/&', views.fb_personality_traits, name="fb_personality_traits"),
个网址放在这里:
facebook_callback
是的,你有过多的&amp;你的网址末尾有一个字母,我猜你想在正则表达式中加上代表行尾的$ sign。
编辑1:
我对这个问题的第一印象是你没有把网址放在正确的位置,但据我所知,重定向是从这条路径url(r'^login/token/facebook_personality_traits/$', views.fb_personality_traits, name="fb_personality_traits"),
下的页面完成的。由于/accounts/facebook/login/token/
中的重定向网址没有前面的/
,因此会导致相对重定向。
修改您的网址如下:
settings.py
在您的settins.py中,您设置了如下所示的重定向网址:
url(r'^facebook_personality_traits/$', views.fb_personality_traits, name="fb_personality_traits"),
由于这是相对网址,因此会转到网址LOGIN_REDIRECT_URL = 'facebook_personality_traits/'
。在/accounts/facebook/login/token/facebook_personality_traits/
的开头加上斜杠/
,而不是问题将解决。
LOGIN_REDIRECT_URL