django实现用户登陆功能

本文介绍了如何在Django框架下实现用户名密码登录功能。通过修改views.py中的authenticate方法以支持扩展,如邮箱验证,同时在settings.py中进行配置。此外,文章还提及了使用POST请求处理用户登录验证,以及通过form.py定义表单验证规则,以减少无效提交和服务器负载,html页面则负责显示错误提示信息。
摘要由CSDN通过智能技术生成

用户名密码登陆实现:

在apps.users下找到views.py文件:
以下代码重写了authenticate()方法,方便用户扩展功能,比如邮箱验证登陆等。
在setting.py中重载一个变量:

AUTHENTICATION_BACKENDS = ('users.views.CustomBackend',)
from django.contrib.auth import authenticate, login
from django.contrib.auth.backends import ModelBackend
from django.db.models import Q
# 继承View 实现基于类的用户登陆
from django.views.generic.base import View  

from .models import UserProfile

# 重写 authenticate 登陆验证方法
class CustomBackend(ModelBackend):
    def authenticate(self, username=None, password=None, **kwargs):
        try:
         # 验证用户名或邮箱, Q提供了一个对象间的或(与&)运算
        user=UserProf
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值