登录页面不会显示在django all-auth中

时间:2016-11-25 08:43:18

标签: python django django-allauth

我遇到django allauth登录页面的问题。我能够完成教程django all-auth,但是当我尝试http://localhost/accounts/login/没有显示任何内容但只有空白页时,我遇到了登录页面的问题。

本教程没有说明如何创建登录页面,所以我想这是我应该做的最后一步。

到目前为止,我所做的是

settings.py

INSTALLED_APPS = (
   'django.contrib.sites',
   'allauth',
   'allauth.account',
   'allauth.socialaccount',
   'allauth.socialaccount.providers.google',
)

SOCIALACCOUNT_PROVIDERS = {'google': {'SCOPE': ['email'],
     'AUTH_PARAMS': {'access_type': 'online'}
 }
}

# Django all auth settings
AUTHENTICATION_BACKENDS = (
    # Needed to login by username in Django admin, regardless of `allauth`
    'django.contrib.auth.backends.ModelBackend',

    # `allauth` specific authentication methods, such as login by e-mail
    'allauth.account.auth_backends.AuthenticationBackend',
)

SITE_ID = 1

urls.py

url(r'^accounts/', include('allauth.urls')),

此外,我已经在Django管理员中添加了一个社交应用程序,它是必填字段。

非常感谢你,非常感谢你的帮助。

2 个答案:

答案 0 :(得分:0)

看一下这个GitHub Repo可以帮助你创建一个登录页面:

https://github.com/pennersr/django-allauth/blob/master/allauth/templates/account/login.html

您还应确保登录页面在urls.py文件中具有适当的url-mappings。

希望,这有帮助。

答案 1 :(得分:0)

{带自@bharat's post,而其他人则绊倒在这篇文章中,试图弄清为什么什么都不显示...

django-allauth随附的模板包含您已经需要的所有内容,甚至包括一些您可能尚未添加的模板。但是,随模板一起提供的是项目所有者的项目结构。

如果您希望所有django-allauth页面都使用其随附的内容,则需要将模板复制并粘贴到template文件夹中,然后对其进行更新以适合您的项目结构...

因此,您将需要执行典型的安装过程,然后还添加所有模板。我只是在任何地方都找不到此文档。您可以看到所有模板here

编辑:如果您仔细查看模板页面的顶部,它会显示“可覆盖模板”,可以清楚地回答我几个小时以来遇到的问题。但是,如果您像我那样错过了。有你的问题。

但是,如果您不打算使用django-allauth views,则不必这样做。您可以完全实现社交身份验证,而无需使用所有视图。因此,这取决于您...但是,一旦实施它们,您将意识到,它确实为您节省了用于设置未来项目的大量时间。只是让它第一次起作用。

为了使所有功能正常工作,您可能需要在模板中进行一些更改。

  1. 更新<title>的{​​{1}}块。
  2. {% block head_title %}更新为您所说的主体代码。
  3. 使用{% block content %}导入django-crispy-forms。
  4. 使所有表格都酥脆。

如果您正在使用所有django-allauth视图。您可能需要一个帐户视图,因此您也需要创建一个帐户视图,因为视图中没有该视图。

但是,您完全可以使用与django-allauth相同的模式并创建类似{% load crispy_forms_tags %}