У меня были большие трудности с пониманием того, как войти на свой сайт. У меня есть пользователи, зарегистрированные в моей базе данных, я создал другую ModelForm помимо формы регистрации. Я просто не понимаю, как при входе в систему будет проверяться, есть ли (электронная почта) и (пароль) в базе данных, и фактически регистрировать пользователя в основной области сайта. Может ли кто-нибудь дать мне лучшее объяснение о том, как проверить базу данных, чтобы убедиться, что информация верна, и войти в свой собственный веб-сайт?
ПРИМЕЧАНИЕ: я не ищу ничего общего с admin.py или страницей администратора, это то, о чем я, похоже, нахожу много информации.
**********************************VIEWS.PY***********************************************
from django.shortcuts import render
from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import redirect
from django.views.generic.base import TemplateView
from django.views.generic.edit import FormView
from django.contrib.auth import authenticate, login, logout
from django.contrib.auth.decorators import login_required
from django.conf import settings
from App1.models import RegisterForm, SignInForm, ModelRegister
# Create your views here.
class LoginView(FormView):
template_name = 'App1//login.html'
form_class_signin = SignInForm()
success_url = '/Main-name/'
login_url = '/login/'
def get(self, request):
form_class_signin = SignInForm()
return render(request, 'App1/login.html', {'form_class_signin': form_class_signin})
def post(self, request):
form_class_signin = SignInForm()
return render(request, 'App1/login.html', {'form_class_signin': form_class_signin})
def user_log_in(self, request):
success_url = '/Main-name/'
if request.method == 'POST':
emaillog = request.POST['email']
passlog = request.POST['password']
user = authenticate(request, username=emaillog, password=passlog)
if user is not None:
if request.user.is_authenticated():
login(self.request, user)
return HttpResponseRedirect(success_url)
if not request.user.is_authenticated:
return HttpResponseRedirect(success_url)
else:
return HttpResponse("ACCOUNT NOT ACTIVE")
else:
print("Someone tried to login and fialed!")
print("Username: {} and password {}".format(emaillog, passlog))
return HttpResponse("Invalid login details")
else:
return render(request, 'App1/login.html', {'form_class_signin': form_class_signin})
@login_required(login_url='/login/')
def user_logout(self, request):
success_url = '/login/'
logout(request)
return redirect(success_url)
@login_required(login_url='/login/')
def special(self, request):
return HttpResponse("Welcome, User Active & Authenticated!")
return render(request, 'App1/login.html', {'form_class_signin': form_class_signin})
*****************************************END VIEWS.PY**************************************