Функция регистрации Django принимает нового пользователя, в то время как функция входа в систему не может его найтиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Функция регистрации Django принимает нового пользователя, в то время как функция входа в систему не может его найти

Сообщение Anonymous »

Я создаю сайт, используя django, python и html. У меня есть приложение под названием account, для которого я сейчас написал две функции: Registration и login_view. Моя функция регистрации работает правильно, принимая пользователя, если его имя пользователя уже занято или его два пароля не совпадают. Однако моя функция login_view, похоже, не распознает того же пользователя, который только что был создан на странице регистрации, что выдает мне эту ошибку: return render(request, 'account/login.html', {'ошибка': 'Неверное имя пользователя или пароль.'})
Вот файлы в папке моего аккаунта, над которыми я работал до сих пор:views.py:
from django.shortcuts import render
from django.contrib.auth.models import User
from django.contrib.auth import authenticate, login, logout

def register(request):
if request.method == 'POST':
if request.POST['password1'] == request.POST['password2']:
the_username = request.POST['username']
try:
the_user = User.objects.get(username = the_username)
return render(request, 'account/register.html', {'error': 'Username already taken. Please choose another one!'})
except User.DoesNotExist:
new_user = User.objects.create(username = the_username, password = request.POST['password1'])
return render(request, 'account/profile.html')
else:
return render(request, 'account/register.html', {'error': 'Passwords do not match.'})
else:
return render(request, 'account/register.html')

def login_view(request):
if request.method == 'POST':
the_user = authenticate(username = request.POST['username'], password = request.POST['password'])
if the_user is not None:
login(request, the_user)
return render(request, 'account/profile.html')
else:
return render(request, 'account/login.html', {'error': 'Wrong username or password.'})
else:
return render(request, 'account/login.html')

def logout_view(request):
return render(request, 'account/logout.html')

def profile(request):
return render(request, 'account/profile.html')

urls.py:
from django.urls import path
from . import views

urlpatterns = [
path('register', views.register, name = 'register'),
path('login', views.login_view, name = 'login'),
path('logout', views.logout_view, name = 'logout'),
path('profile', views.profile, name = 'profile'),
]

register.html:





Register



This is the register page.

{{ error }}



{% csrf_token %}

Username:



Password:



Repeat password:









login.html:





Login



This is the login page.

{{ error }}



{% csrf_token %}

Username:



Password:










Подробнее здесь: https://stackoverflow.com/questions/782 ... n-cant-fin
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»