Я создаю пользовательскую логику аутентификации пользователя c на моем сайте. Я создал MyUser
модель, а не созданную форму
from django import forms
from django.contrib.auth.forms import UserCreationForm,UserChangeForm
from .models import MyUser
classCustomUserCreationForm(UserCreationForm):
class Meta:
model = MyUser
fields = ('email',)
Чем в файле уровня проекта urls.py я добавил следующий путь
urlpatterns =[
path('login/',include('authorization.urls'),]
Чем в authorization/urls.py
Я создал
from django.urls import path
from .views import login_form
urlpatterns =
[path(' ',login_form,name='login_form'),]
В моем файле просмотра у меня есть следующий метод, который, если request == GET должен вернуть пустую форму, а если form is_valid (), он перенаправляет на другую страницу
from django.http import HttpResponseRedirect
from django.shortcuts import render
from .form import UserCreationForm
def login_form(request):
if request.method == 'POST':
form = UserCreationForm(request.POST)
if form.is_valid():
email = form.cleaned_data('email')
password = form.cleaned_data('password')
return HttpResponseRedirect('/thank/')
else:
form = UserCreationForm()
return render(request,'registration/log.html',{'form':form})
И последний кусок log.html
{% extends 'main/base.html' %}
<form action="{% url 'login_form' %}" method="post">
{% csrf_token %}
{{ form }}
<input type="submit" value="Submit">
</form>
Но когда я запускаю сервер и открываю http://127.0.0.1:8000/login/
У меня нет ничего исключительного и нет пустой формы