我正在尝试制作一个带有基于django类的视图的身份验证系统
到目前为止我尝试过的:
这是我的views.py文件:
from django.shortcuts import render
from django.views import generic
from .forms import UserRegistrationForm
from django.urls import reverse_lazy
class UserCreationView(generic.CreateView):
form_class = UserRegistrationForm
template_name = 'registration/register.html'
success_url = reverse_lazy('login')
这是forms.py文件
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.models import User
class UserRegistrationForm(UserCreationForm):
email = forms.EmailField()
class Meta:
model = User
fields = ('username', 'email', 'password1', 'password2',)
widgets = {
'email': forms.EmailInput(attrs={'class':'input', 'placeholder': 'Email Address'})
}
这是urls.py文件:
from django.urls import path
from .views import UserCreationView
urlpatterns = [
path('register/', UserCreationView.as_view(), name = 'register'),
]
其他urls.py文件(项目文件夹中存在的urls.pi文件(
path('users/', include(urls)),
path('users/', include('authentication.urls')),
此代码的问题是每当我登录时,我仍然可以通过登录url(本例中的登录url:http://localhost:8000/users/login/
(登录和注册,我如何限制用户再次登录
我发现上的默认LoginView((类
django.contrib.auth import views
具有一个称为的布尔属性
redirect_authenticated_user
我相信这就是你想要的。
只需在中查找class LoginView
https://docs.djangoproject.com/en/3.2/topics/auth/default/你会看到的。