django - Allauth 注册模板,一页上包含普通帐户和社交帐户

标签 django django-templates django-authentication

我发现 allauth 模板有点难以理解,并且无法真正弄清楚如何创建一个允许在社交身份验证(在我的例子中是 FB)和普通身份验证(电子邮件等)之间进行选择的模板.),例如 Stackoverflow 上的那个。

基本上我想通过注册 View 来使用{{ form.as_p }}

最佳答案

您可以覆盖 this模板(account/login.html)。

对于普通的登录表单,您可以使用从上述模板中提取的以下代码段:

{% load i18n %}
<form class="login" method="POST" action="{% url 'account_login' %}">
  {% csrf_token %}
  {{ form.as_p }}
  {% if redirect_field_value %}
  <input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}" />
  {% endif %}
  <a class="button secondaryAction" href="{% url 'account_reset_password' %}">{% trans "Forgot Password?" %}</a>
  <button class="primaryAction" type="submit">{% trans "Sign In" %}</button>
</form>

对于 Facebook 社交身份验证,您可以根据 this template 获得以下内容: :

{% load socialaccount %} 
<a title="Facebook" class="socialaccount_provider facebook" 
     href="{% provider_login_url facebook process='login' %}">Facebook</a>

这两个模板均由 django-allauth 提供,但可以通过向 django 应用程序添加 templates 文件夹并创建相同的目录结构来覆盖,在本例中:

myapp
  |_templates
        |_account
             |_login.html

并将您的代码放入login.html中。这同样适用于您想要覆盖的任何其他模板。 Heredjango-allauth的模板。

关于django - Allauth 注册模板,一页上包含普通帐户和社交帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13496224/

相关文章:

Python - Google App Engine - Django 模板中的方法

django - 是否可以在不修改 Form 类的情况下使用 django-crispy-form FormHelper

django - 如何使 Django View 仅可供未经身份验证的用户访问?

python - 相关对象上的多个注释

python - 扩展 django auth 登录 View

django - Google OAUTH 给出 502 错误

python - Django 模板过滤器查询集

python - Django 'TestMiddleware' 对象没有属性 'get_response'

javascript - 将 id 从模板传递到 django 中的 View

django - 如果 django rest 中提供了未经授权的凭据,如何发送自定义响应