python - 如何在 Django 的同一页面上使用登录表单和注册表单?
问题描述
我正在处理该forms.py
文件,我希望在同一页面上同时拥有登录和注册表单。我希望 Django 处理<input>
每个表单的 ID。
例如,我希望<input>
里面的用户名<form id="register_form">
变为<input ... id="register_form_username">
,但它变为<input ... id="id_username">
. 现在,<input>
里面的用户名<form id="login_form">
也将变为<input ... id="id_username">
.
因此,我的浏览器会在开发者工具控制台中打印“[DOM] Found 2 elements with non-unique id #id_username”。
表格.py
from django import forms
class LoginForm(forms.Form):
username = forms.CharField(label="Username", max_length=64)
password = forms.CharField(label="Password", max_length=64, widget=forms.PasswordInput)
class RegisterForm(forms.Form):
username = forms.CharField(label="Username", max_length=64)
email = forms.CharField(label="Email", max_length=64, widget=forms.EmailInput)
password = forms.CharField(label="Password", max_length=64, widget=forms.PasswordInput)
confirm = forms.CharField(label="Confirm Password", max_length=64, widget=forms.PasswordInput)
视图.index
context = {
"forms": {
"login": LoginForm(),
"register": RegisterForm(),
}
}
return render(request, "orders/index.html", context)
索引.html
<form id="register_form" method="POST" action="/register">
{% csrf_token %}
{{ forms.register }}
<button type="submit">Register</button>
</form>
<form id="login_form" method="POST" action="/login">
{% csrf_token %}
{{ forms.login }}
<button type="submit">Login</button>
</form>
我该如何解决这个问题?
解决方案
推荐阅读
- c - Accessing enum value in memcpy
- php - How I compare a string of a file, and if it does not exist, I write it in the file in PHP?
- azure - 通过 Azure 从 c# 后端推送通知是使用 GCM 而不是 FCM 发送的
- ios - libRNLaunchNavigator 的 React 本机链接器命令失败
- laravel - Voyager 管理面板链接已损坏
- php - 如何通过索引 $sheet->getRowIterator() 获取行?
- bash - 将“tail -f”输出重定向到 COPY 命令
- html - 背景颜色拒绝在 Outlook 中应用
- javascript - Html 未按预期呈现 javascript 断线
- java - 交换可绘制图像的文本