Я создаю сайт, используя 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
Функция регистрации Django принимает нового пользователя, в то время как функция входа в систему не может его найти ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
После входа или регистрации пользователя, имя пользователя и описание не появляются
Anonymous » » в форуме JAVA - 0 Ответы
- 19 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Drupal 7 перенаправить пользователя перед входом в систему с помощью входа в систему?
Anonymous » » в форуме Php - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-