我是 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" %} »</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/