from django.contrib.auth import login,authenticate,logout
from django.contrib.auth.decorators import login_required setting.py
AUTH_USER_MODEL = 'mytest.User'         #app名字.表名字
LOGIN_URL="/mytest/login/"              #如果没有登录,将会返回的url,用于装饰器 @login_required()
model.py(重构User model)
from django.db import models
from django.contrib.auth.models import AbstractUser # Create your models here.
class User(AbstractUser):
nickname = models.CharField(max_length=50, blank=True) class Meta(AbstractUser.Meta):
verbose_name = "用户信息"
verbose_name_plural = verbose_name def __str__(self):
return self.username
view.py
def acc_login(req):
if req.method == "GET":
return render(req,"acc_login.html")
else:
email=req.POST.get("acc")
pwd=req.POST.get("pwd")
print("user:%s-%s" % (email,pwd))
user=authenticate(username=email,password=pwd)#验证:返回验证对象,失败则是None,成功返回username
print("user:%s"%user)
if user:
login(req,user)
# next_url = req.GET.get("next", '../index')
# return redirect(next_url)
return redirect("/mytest/index/")
else:
error="账号或者密码错误"
return render(req, "acc_login.html",{'error':error}) def acc_logout(req):
logout(req)
return redirect("/mytest/login/")
@login_required()
def index(request):
context = {"key": "ok"}
return render(request,'index.html',context) # 关于User model 密码,需要用 set_password
def test_create(req):
user = models.User(
username='jam',
nickname= 'jam'
)
user.set_password('1234')
return HttpResponse("ok")

最新文章

  1. float和double在内存中的存储方式
  2. C# 重绘tabControl,添加关闭按钮(页签)
  3. php使用位与运算符【&】或【|】实现权限管理
  4. 修改CSV中的某些值 -- 2
  5. C#综合揭秘——细说多线程(上)
  6. Entity Framewor中的 Migration
  7. MFC拆分窗口及它们之间的数据交换
  8. leetcode第二题--Median of Two Sorted Arrays
  9. C# 语言的多线程编程,完全是本科OS里的知识
  10. Professional C# 6 and .NET Core 1.0 - Chapter 41 ASP.NET MVC
  11. Spring中一个类的注入和引用是不一样的
  12. 设计模式(3)抽象工厂模式(Abstract Factory)
  13. css实现的交互运动
  14. java——对象学习笔记
  15. Android进阶(十六)子线程调用Toast报Can't create handler inside thread that has not called Looper.prepare() 错误
  16. JAVA生成一个二维数组,使中间元素不与相邻的9个元素相等,并限制每一个元素的个数
  17. arcgis desktop 地理编码服务发布
  18. this和super用法详解
  19. 颜色 color
  20. OpenStack中MySQL高可用配置

热门文章

  1. phpfpm和nginx设置开机自动启动
  2. jQuery事件操作
  3. VIM全总结
  4. cisco RIP(传闻协议)Routing information protocol
  5. 【Python开发】matplotlib绘图不显示问题解决plt.show()
  6. Durable NAND flash memory management
  7. linux 下各errno的意义(转)
  8. PostgreSQL编码格式:客户端服务器、客户端、服务器端相关影响
  9. Docker部署前后端项目
  10. JAVA基础--JAVA API集合框架(其他集合类,集合原理)