Django Allauth手动呈现登录字段用户或电子邮件不显示

nc1teljy  于 2023-08-08  发布在  Go
关注(0)|答案(1)|浏览(101)

我正在尝试手动显示登录字段,而不是使用:

{{form.as_p}}

字符串
我将allauth设置如下,以便通过电子邮件登录:

ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_USERNAME_REQUIRED = False
ACCOUNT_SIGNUP_PASSWORD_ENTER_TWICE = False
ACCOUNT_SESSION_REMEMBER = True
ACCOUNT_AUTHENTICATION_METHOD = 'email'
ACCOUNT_UNIQUE_EMAIL = True


在HTML中,我有以下内容:

<form class="login" method="POST" action="{% url 'account_login' %}">
    {% csrf_token %}
    <!-- Email input -->
  <div class="form-outline mb-4">
    {{form.email}}
    <label class="form-label" for="form2Example1">Email address</label>
  </div>

  <!-- Password input -->
  <div class="form-outline mb-4">
    {{form.password}}
    <label class="form-label" for="form2Example2">Password</label>
  </div>
    {% 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="btn btn-lg btn-block btn-primary" type="submit">{% trans "Sign In" %}</button>
  </form>


电子邮件字段未显示,我还尝试使用:

{{form.user}}


并且不显示该字段

bz4sfanl

bz4sfanl1#

使用{{ form.login }}
您可以通过使用{{form.as_p }}输出字段类型,然后使用浏览器的检查工具查看该字段的html代码,这里有一个<input(some attributes)id=“id_{fieldname}">

相关问题