我有一个基本的登录名,在Django项目中注册html页面: 登录页面重定向到views.py中的user_login 函数,如下所示:
<form action="{% url 'user_login' %}" method="POST">. //rest of the code
在 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”页面。
我已经导入了User,Login类,如下所示:
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.
每当我单击登录页面时,登录页面就永远不会加载,更不用说检查是否正在进行身份验证了。
发生的错误如下:
我不确定错误发生在哪里以及必须采取什么解决方案。
请帮助谢谢!
答案 0 :(得分:1)
如果request.method
不是POST,则您的视图从不返回任何内容。