【转载】Django自带的注册登陆功能
1.登陆
知识点:
a.auth.authenticate(username=name值, password=password值)
验证用户名和密码
b.auth.login(request, user)
登陆操作
from django.contrib import auth
def djlogin(request):
if request.method == 'GET':
return render(request, 'day6_login.html')
if request.method == 'POST':
name = request.POST.get('name')
password = request.POST.get('password')
# 验证用户名和密码,验证通过的话,返回user对象
user = auth.authenticate(username=name, password=password)
if user:
# 验证成功 登陆
auth.login(request, user)
return HttpResponseRedirect('/stuapp/index/')
else:
return render(request, 'day6_regist.html')
当用户登陆成功时,会生成一个sessionid保存在cookies中,可以在数据库django_session中查看,当用户访问其他页面时,可以通过sessionid判断用户是否已经登陆。


2.注册
知识点:
a.User模型
django自带User模型,导入方法:from django.contrib.auth.models import User
b.create_user创建用户
create_user是django封装好的用于创建用户的方法,创建方法:User.objects.create_user(username=name, password=password)
,此处的User是django中自带的User模型
from django.contrib.auth.models import User
def djregist(request):
if request.method == 'GET':
return render(request, 'day6_regist.html')
if request.method == 'POST':
name = request.POST.get('name')
password = request.POST.get('password')
# 此处的User 是 django 自带的model
User.objects.create_user(username=name, password=password)
return HttpResponseRedirect('/uauth/dj_login/')
数据库中用于存储用户信息的表 auth_user

3.退出登陆
知识点:
a.auth.logout(request)
退出登陆的操作
def djlogout(request):
if request.method == 'GET':
auth.logout(request)
return HttpResponseRedirect('/uauth/dj_login/')
4.登陆验证
知识点:
a.login_required()
若在访问某页面时,需要确认用户登陆成功才能访问,可以在url中用login_required方法进行验证,如果登陆成功就执行,如果用户未登陆,自动跳转登陆页面。
b.LOGIN_URL
配置跳转路径,,当用户未登陆访问其他页面时,自动跳转到指定的url
url(r'^index/', login_required(views.index)),
url(r'^addstu/', login_required(views.addStu), name='astu'),
url(r'^stupage/', login_required(views.stuPage)),
值得注意的是,一旦加上login_required方法,在用户未登陆时访问页面会出现如下的404错误,所需还需要在setting.py进行配置LOGIN_URL。

配置跳转路径,当用户未登陆访问其他页面时,自动跳转到登陆页面
LOGIN_URL = '/uauth/dj_login/'
【转载】Django自带的注册登陆功能的更多相关文章
- django自带的登录验证功能
django自带的验证机制 from django.shortcuts import render, redirect from django.contrib.auth import authenti ...
- django项目中账号注册登陆使用JWT的记录
需求分析 1. 注册用JWT做状态保持 1.1 安装jwt pip install djangorestframework-jwt 1.2 去settings里面配置jwt ...
- jsp+servlet实现最基本的注册登陆功能
源码和数据库下载地址:http://download.csdn.net/detail/biexiansheng/9759722 1:首先需要设计好数据库和数据表,这里简单截图说明我创建的字段和类型. ...
- 草草搞了个SERVLET的注册登陆功能
按书来的,学习阶段,一切都好新奇..至少对比于DJANGO,好像复杂点点,但HTTP的东东,是相通的哈. package cc.openhome.controller; import java.io. ...
- Django 自带认证功能auth模块和User对象的基本操作
一.auth模块 from django.contrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: authenticate() ...
- django写一个简单的登陆注册
要写这个,前提还是需要知道三个知识: 一个是urls.py,它是写我们的路由关系的,之前我写了通过wsgiref写一个简单的服务端,也用到了路由,就是 请求过来的url和视图函数的对应关系. 二是就是 ...
- Django项目:CRM(客户关系管理系统)--53--44PerfectCRM实现账号快速注册登陆
# gbacc_ajax_urls.py # ————————42PerfectCRM实现AJAX全局账号注册———————— from django.conf.urls import url fro ...
- ASP.net(C#)利用SQL Server实现注册和登陆功能
说说我现在吧,楼主现在从事的事IT行业,主攻DotNet技术:当然这次上博客园我也是有备而来,所有再次奉献鄙人拙作,以飨诸位,望诸位不吝赐教. 世界上大多数的工作都是熟练性的工种,编程也不例外,做久了 ...
- 快速体验 Laravel 自带的注册、登录功能
快速体验 Laravel 自带的注册.登录功能 注册.登录经常是一件很伤脑筋的是,Laravel 提供了解决方案,可以直接使用它.试过之后,感觉真爽! 前提:本地已安装好了 PHP 运行环境.mysq ...
随机推荐
- Android_(游戏)打飞机03:控制玩家飞机
(游戏)打飞机01:前言 传送门 (游戏)打飞机02:游戏背景滚动 传送门 (游戏)打飞机03:控制玩家飞机 传送门 (游戏)打飞机04:绘画敌机.添加子弹 传送门 (游戏)打飞机05:处理子弹, ...
- 解决新建Maven项目webapp-- index.jsp报错
现在,随着项目开发的不断增长,项目变得庞大,jar包管理起来也很费时.使用maven工程可以很轻松的帮助我们管理jar包,省时. 今天,我在公司电脑新建的maven工程,新建完后 index.jsp报 ...
- 关于MYSQL日期 字符串 时间戳互转
时间转字符串: select date_format(now(), '%Y-%m-%d'); #结果:2016-01-05 时间转时间戳: select unix_timestamp(now()); ...
- MessageWebSocket
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; usi ...
- CICD - 持续集成与持续交付
持续集成与持续交付是软件开发和交付中的实践.我们项目中一直在践行持续集成(CI:Continuous Integration):持续交付(CD:Continuous Delivery)未能达到理想状态 ...
- nodejs之路由
声明:在写nodejs代码的时候,很多模块可以封装保存起来,以后的项目都会用到. 1.路由模块 var url=require('url'); //封装方法改变res 绑定res.send() fun ...
- nginx代理,负载均衡
#代理,如:通过代理实现访问百度(单个机器)创建vim proxy.conf内容如下server { listen 80; server_name www.baidu.com; location / ...
- 微信小程序---交互反馈
1.学习大纲: 2.showToast(): wx.showToast({ title: '成功', icon: 'success', duration: }) 3.hieToast(): wx.sh ...
- [Amazon] Program for Fibonacci numbers 斐波那契数列
The Fibonacci numbers are the numbers in the following integer sequence. 0, 1, 1, 2, 3, 5, 8, 13, 21 ...
- SpringMVC以POST提交表单中文乱码解决方案。
在web.xml中添加字符集过滤器: <filter> <filter-name>characterEncodingFilter</filter-name> < ...