输入账号密码,但是登陆页面没有跳转到主页,进入主页显示登陆成功
来源:6-3 用户登录-2
qq_鱼_59
2018-04-05
发现用用户名登陆可以跳转主页面,只有在用邮箱登陆的时候不会跳转进主页面,但是打开主页显示是登陆状态。
class CustomBackend(ModelBackend):
def authenticate(self, request, username=None, password=None, **kwargs):
try:
user = UserProfile.objects.get(Q(username=username)|Q(email=username))
if user.check_password(password):
return user
except Exception as e:
return None
class LoginView(View):
def get(self, request):
return render(request, 'login.html', {})
def post(self, request):
login_form = LoginForm(request.POST)
# 判断是否合法
if login_form.is_valid():
user_name = request.POST.get('username', '')
pass_word = request.POST.get('password', '')
user = authenticate(username=user_name, password=pass_word)
if user is not None:
if user.is_active:
login(request, user)
return render(request, 'index.html')
else:
return render(request, 'login.html', {'msg': '用户未激活!'})
else:
return render(request, 'login.html',{'msg': '用户名或密码错误!'})
else:
return render(request, 'login.html', { 'login_form':login_form})
============================================================
<h2>帐号登录</h2>
<form action="{% url 'login' %}" method="post" id="jsLoginForm" autocomplete="off">
<div class="form-group marb20 {% if login_form.errors.username %} errorput {% endif %}">
<label>用 户 名</label>
<input name="username" id="account_l" type="text" placeholder="手机号/邮箱" />
</div>
<div class="form-group marb8 {% if login_form.errors.password %} errorput {% endif %}">
<label>密 码</label>
<input name="password" id="password_l" type="password" placeholder="请输入您的密码" />
</div>
<div class="error btns login-form-tips" id="jsLoginTips">{% for key,error in login_form.errors.items %}{{ error }}{% endfor %}{{ msg }}</div>
<div class="auto-box marb38">
<label><input type="checkbox" id="jsAutoLogin"> 自动登录</label>
<a class="fr" href="{% url 'forget_pwd' %}">忘记密码?</a>
</div>
<input class="btn btn-green" id="jsLoginBtn" type="submit" value="立即登录 > " />
{% csrf_token %}
</form>
==========================================================
返回结果》》》》》》》》》》》
[05/Apr/2018 12:46:36] "POST /user/login/ HTTP/1.1" 200 37041
==========================================================
2回答
-
qq_鱼_59
提问者
2018-04-08
0.0
00 -
bobby
2018-04-07
你通过qq群找到我 给我发个qq消息我看看呢
022018-04-09
相似问题