Ошибка входа пользователя в Django с использованием аутентификации пользователя () - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть базовое имя входа, зарегистрируйте html-страницу в моем проекте Django: страница входа перенаправляет на функцию user_login в views.py следующим образом:

  <form action="{% url 'user_login' %}" method="POST">. //rest of the code

In urls.py запрос корректно перенаправляется:

   .......#beginnning code

   path('user_login', views.user_login, name='user_login'),
   path('portfolio', views.portfolio, name='portfolio'),  
   ......

В views.py это мой код user_login для аутентификации пользователя и перенаправления пользователя на страницу «portfolio.html», еслиучетные данные пользователя верны.

Я импортировал пользователя, класс входа в систему следующим образом:

   from django.http import HttpResponseRedirect
   from django.shortcuts import render
   from .models import Profile
   from django.contrib.auth.models import User
   from django.contrib.auth import authenticate, login

   # Create your views here.


   def index(request):
       return render(request, 'mysite/index.html')


   def user_login(request):
       if request.method == 'POST':
           name_r = request.POST.get('name')
           password_r = request.POST.get('password')

           user = authenticate(username=name_r, password=password_r)

           if user:
               login(request, user)

               #below line might be incorrect
               return HttpResponseRedirect('mysite/portfolio.html')
           else:
               return render(request, 'mysite/login.html')

 #rest of the code for signup which is working perfectly.

Всякий раз, когда я нажимаю на страницу входа, страница входа никогда не загружается в первую очередь., не говоря уже о проверке, выполняется ли аутентификация.

Произошла следующая ошибка:

enter image description here

IЯ не уверен точно, где происходит ошибка и какое решение должно быть к ней применено.

1 Ответ

0 голосов
/ 21 ноября 2018

Ваше мнение никогда не возвращает ничего, если request.method не POST.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...