我想有一个页面为双方的注册和登录。 然而,我无法处理这两个表格。 这是我的密码。 我在想,是否可以给这些表格起个名字,或者用另一种方式处理它?
Forms.py
from django.contrib.auth import get_user_model
from django.contrib.auth.forms import UserCreationForm
class UserCreateForm(UserCreationForm):
class Meta:
fields = ("username", "email", "password1", "password2")
model = get_user_model()
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields["username"].label = "Display name"
self.fields["email"].label = "Email address"
url.py
from django.conf.urls import url
from django.contrib.auth import views as auth_views
from . import views
app_name = 'accounts'
urlpatterns = [
url('', views.SignUp.as_view(), name="signup"),
url('', auth_views.LoginView.as_view(template_name="index.html"),name='login'),
url('', auth_views.LogoutView.as_view(), name="logout"),
]
index.html
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<div class="container">
<h1>Login</h1>
<form method="POST">
{% csrf_token %}
{{ form }}
<input type="submit" class="btn btn-default">
</form>
</div>
<div class="container">
<h1>Sign Up</h1>
<form method="POST" >
{% csrf_token %}
{{ form }}
<input type="submit" class="btn btn-default">
</form>
</div>
</body>
</html>
非常感谢你
相信这个帖子有你需要的答案。 以下是我对这些信息的想法:
>
在两个表单的操作中放置不同的URL。 那么您将有两个不同的视图函数来处理这两种不同的表单。 这有时会有点混乱,因为有些CBV需要主键,而其他CBV则不需要,这可能会导致冲突。
从POST数据中读取submit按钮值。 您可以知道点击了哪个提交按钮:我如何构建多个提交按钮Django表单? 这是一个我更喜欢,因为它更干净的实现。
事实上,我想能够张贴和我的歉意。 简而言之,您必须使用Fetch API来实现这一点