Новые пользователи не могут войти в сеансы в Django
Я занимаюсь небольшим проектом на Django, который я получил через учебник, но у меня возникла проблема, и я не могу найти решение.
Я создал форму для регистрации новых пользователей, но когда я это делаю, страница возвращает меня к форме регистрации вместо того, чтобы перенаправить меня на страницу входа
Когда вы попытались ввести данные нового пользователя, который должен быть "уже зарегистрирован", чтобы начать сеанс. Получение в шаблоне "Неверное имя пользователя или пароль"
Однако, когда я пытаюсь войти в систему с суперпользователем, которого я создал через командную строку после установки Django. Этот открывается без проблем
views.py
forms.py
from django.db import models
from django.forms import ModelForm, fields
from .models import Order, Customer
from django.contrib.auth.forms import UserCreationForm
from django import forms
from django.contrib.auth.models import User
class OrderForm(ModelForm):
class Meta:
model = Order
# fields = ['customer', 'product']
fields = '__all__'
class CustomerForm(ModelForm):
class Meta:
model = Customer
fields = '__all__'
class CreateUserForm(UserCreationForm):
class Meta:
model = User
fields = ['username', 'email', 'password1', 'password2']
models.py
from django.db import models
from django.db.models.deletion import SET_NULL
class Customer(models.Model):
name = models.CharField(max_length=200, null=True)
phone = models.CharField(max_length=200, null=True)
email = models.CharField(max_length=200, null=True)
date_created = models.DateTimeField(auto_now_add=True, null=True)
def __str__(self):
return self.name
class Tag(models.Model):
name = models.CharField(max_length=200, null=True)
def __str__(self):
return self.name
class Product(models.Model):
CATEGORY = (
('Indoor', 'Indoor'),
('Out Door', 'Out Door'),
)
name = models.CharField(max_length=200, null=True)
prince = models.FloatField(null=True)
category = models.CharField(max_length=200, null=True, choices=CATEGORY)
description = models.CharField(max_length=200, null=True, blank=True)
date_created = models.DateTimeField(auto_now_add=True, null=True)
tags = models.ManyToManyField(Tag)
def __str__(self):
return self.name
class Order(models.Model):
STATUS = (
('Pending', 'Pending'),
('Out for delivery', 'Out for delivery'),
('Delivered', 'Delivered'),
)
customer = models.ForeignKey(Customer, null=True, on_delete=SET_NULL)
product = models.ForeignKey(Product, null=True, on_delete=SET_NULL)
status = models.CharField(max_length=200, null=True, choices=STATUS)
date_created = models.DateTimeField(auto_now_add=True, null=True)
note = models.CharField(max_length=1000, null=True)
def __str__(self):
return self.product.name
urls.py
from django.urls import path
from . import views
urlpatterns = [
path('register/', views.registerPage, name="register"),
path('login/', views.loginPage, name="login"),
path('logout/', views.logoutUser, name="logout"),
path('', views.home, name="home"),
path('products/', views.products, name="products"),
path('customer/<int:pk_test>/', views.customer, name="customer"),
path('create_order/<int:pk>', views.createOrder, name='create_order'),
path('update_order/<int:pk>', views.updateOrder, name='update_order'),
path('delete_order/<int:pk>', views.deleteOrder, name='delete_order'),
path('create_customer/', views.createCustomer, name='create_customer'),
]
register.html
login.html
Еще одна вещь, которую я заметил: когда я регистрирую нового пользователя и захожу в административную панель, новый зарегистрированный пользователь не появляется в разделе '' пользователи '' в административной панели, так как нет записи в базе данных.
Поэтому я думаю, что это может быть проблема с представлением '' registerPage '', но я не могу найти проблему, если кто-то может помочь мне и объяснить, в чем заключается ошибка, это было бы здорово; я новичок в использовании Django и хочу научиться лучшему способу. Большое спасибо за сотрудничество