无法链接Django的模板页面

时间:2017-10-10 09:23:56

标签: python django django-allauth

我正在尝试使用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>

但我能够让它有效运行。我想有一些问题我已经为网站声明了网址。以下是错误的快照:

issue snapshot.

请建议我错过的部分。

2 个答案:

答案 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