python - Django Allauth - 在自定义注册 HTML 文件上应用注册功能

标签 python django-allauth

我是 django 新手,我正在尝试使用 Django allauth 库创建注册功能。 但我很难在我的自定义 HTML 文件上使用注册功能,因此需要您的帮助。

原来,Django allauth Signup 模板是这样的。

django-allauth/allauth/templates/account/signup.html

<form class="signup" id="signup_form" method="post" action="{% url 'account_signup' %}">
  {% csrf_token %}
  {{ form.as_p }}
  {% if redirect_field_value %}
  <input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}" />
  {% endif %}
  <button type="submit">{% trans "Sign Up" %} &raquo;</button>
</form>

我新的自定义 HTML 文件是这样的。

mysite/templates/account/signup.html

<form class="signup" id="signup_form" method="post" accept-charset="utf-8" action= "{% url 'account_signup' %}" >
  {% csrf_token %}
  {% if redirect_field_value %}
    <input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}" />
  {% endif %}

  <div class="signup_body">
    <div class="container">
      <div class="home_list">
        <div class="row">
          <div class="col-12">
            <div>name</div>
              <div class="textinput">
                  <input type="text" id="signup_name" placeholder="please name" v-model="name">
              </div>
          </div>
        </div>
      </div>

      <div class="home_list">
        <div class="row">
          <div class="col-12">
            <div>email</div>
              <div class="textinput">
                  <input type="email" id="signup_email" placeholder="please email" v-model="email">
              </div>
          </div>
        </div>
      </div>

      <div class="home_list">
        <div class="row">
          <div class="col-12">
            <div>password</div>
              <div class="textinput">
                  <input type="password" id="signup_password" placeholder="password" v-model="password">
              </div>
          </div>
        </div>
      </div>

      <div class="home_list">
        <div class="row">
          <div class="col-12">
            <div>double check password</div>
              <div class="textinput">
                  <input type="password" id="signup_repassword" placeholder="type again" v-model="passwordAgain">
              </div>
          </div>
        </div>
      </div>
      <input type = "submit">
        <div class="home_list_btn">
            <div class="grobal_btn">
                <h4 class="grobal_btn_primary grobal_btn_round">Complete</h4>
            </div>
        </div>

    </div>
  </div>
</form>

而且我不知道如何使用 HTML 中的“form”标签将数据发送到数据库并将用户移动到下一个自定义页面。

我尝试将下一页信息输入到表单标记中的 action 参数中,并且它有效,但数据未提交且未保存。

如何设置此 HTML 页面以将用户注册数据发送到 DB/服务器并将用户移至下一页?

最佳答案

您可以替换:

<input type="email" id="signup_email" placeholder="please email" v-model="email">

作者:

<input type="email" id="signup_email" placeholder="please email" name="email">

或者只是:

{{ form.email }}

原因是Signup form django-allauth 提供的包含以下字段:email、username、password1、password2,因此您必须严格使用这些名称来设置 html 表单。

仅供引用,Django 提供 Django Form 来允许您处理客户端和服务器端之间的数据。它允许您验证输入数据,ModelForm 还允许您通过 Django Model 将数据保存到数据库中。

关于python - Django Allauth - 在自定义注册 HTML 文件上应用注册功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58462365/

相关文章:

html - django allauth 自定义消息 : Styling messages with html/css

python - 如何返回与用户端点一起验证的电子邮件?

python - 有没有更简单的解包元组的方法?

python - 为什么 AddMultiplicationEquality 仅限于 2 个变量?

python - 使用 Python 映射 Excel 数据

django - 在 Django 应用程序中实现 Facebook 登录的简单且最新的方法

python - 使用 Django 和 django-allauth 获取新用户的 Twitter 电子邮件地址

python - cartopy:导入cartopy.crs错误

javascript - 点击交互式chart.js条形图并获取JS中标签和组的值

python - 覆盖rest-auth RegisterSerializer,添加年龄验证