django中使用邮箱进行登陆
来源:互联网 发布:技术指标知乎 编辑:程序博客网 时间:2024/05/01 06:53
登陆视图
def user_login(request): """登陆视图""" if request.method == 'GET': return render(request, 'login.html') elif request.method == 'POST': # 获取 表单提交上来的信息 通过 内置的认证方法进行认证 认证成功进行登陆 username = request.POST.get('username') password = request.POST.get('password') user = authenticate(username=username, password=password) # 如果认证成功返回user 不成功返回none if user is not None: login(request, user) # 调用内置的登陆函数 return redirect('/index/') else: return render(request, 'login.html', {'err': "用户名或者密码错误"})
定义类允许使用邮箱进行登陆
需要在settings 中进行配置:配置如下:# 配置允许采用邮箱登陆 是一个元组 必须加上逗号AUTHENTICATION_BACKENDS = ( 'users.views.CustomBackend',)使用邮箱进行验证登陆的类的实现class CustomBackend(ModelBackend): """验证用户 让用户可以使用邮箱登陆""" def authenticate(self, username=None, password=None, **kwargs): try: # 做并集进行查询 使用Q print(username) user = UserProfile.objects.get(Q(username=username)|Q(email=username)) # 先查user 然后调用方法去比较密码 if user.check_password(password): return user except Exception as err: return None
阅读全文
1 0
- django中使用邮箱进行登陆
- PyCharm中使用virtualenv进行django开发
- django中如何使用login_required来解决登陆的麻烦
- Django网站建设-用户注册、登陆、邮箱激活、密码找回
- wordpress用户名允许使用邮箱登陆方法
- python使用mechanize模拟登陆新浪邮箱
- django中使用ajax(post)进行异步请求
- Django中使用Ajax进行前后台交互
- Python中使用rrdtool结合Django进行带宽监控
- 在ASP.net中使用域账号进行登陆
- django使用email进行身份验证
- 使用VS2010进行Django开发
- Django使用email进行身份验证
- django使用配置文件进行数据库连接
- 使用ajax进行登陆验证
- 使用Python进行模拟登陆
- 【Django插件使用】Django Simple Captcha登陆验证码
- django 登陆
- Educational Codeforces Round 24
- mybatis+oracle实现批量添加
- 离散优化初步
- web基础知识
- getter和setter方法
- django中使用邮箱进行登陆
- 照片
- 在代码中强制竖屏
- 封装
- 632. Smallest Range
- 2017.7.2
- 如何学习一块单片机的处理器
- springmvc试图解析流程
- Leetcode 1.Two Sum