auth 应用

auth

User 模型

from django.contrib.auth.models import User

1. 字段
  • username:位置参数。
  • password:位置参数,存储的是哈希值。
  • email:blank=True
  • is_active:建议用户删除账号时,设为 False,而不是真的删除账号,这样不会破坏外键。
  • last_login、date_joined
  • groups、user_permissions:Many-to-many relationship to Group、Permission。
  • is_staff、is_superuser:前者有权限访问后台,后者有所有权限。
  • 登录后台查看的用户信息与此完全一致。
2. 方法
# 新建用户,is_active 自动设为 True
user = User.objects.create_user(username, email=None, password=None, **extra_fields)
user.save()

# 认证用户,不检查 is_active,验证失败则返回 None
from django.contrib.auth import authenticate
user = authenticate(username=username, password=password)

# 修改密码,前提已通过认证
user.set_password(new_password)
user.save()

# 用户登录,向 session 中添加 SESSION_KEY,跟踪用户
from django.contrib.auth import login
def login_view(request):
    login(request, user)

# 用户注销
from django.contrib.auth import logout
def logout_view(request):
    logout(request)

# 仅限登录用户访问,通过检查 session key 判断是否登录
# 未登录用户将被重定向到 login_url
from django.contrib.auth.decorators import login_required
@login_required(login_url='/accounts/login/')
def userinfo(request):
    pass

参考文档:
https://docs.djangoproject.com/en/2.0/ref/contrib/auth/#django-contrib-auth
https://www.cnblogs.com/LiCheng-/p/6920900.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • PLEASE READ THE FOLLOWING APPLE DEVELOPER PROGRAM LICENSE...
    念念不忘的阅读 14,599评论 5 6
  • 这篇文章在博客园有出处的,是某位大神创作的,然后自己为了研究用户登录注册的问题,所以把它copy到简书上,希望可以...
    轩辕小爱阅读 13,583评论 0 7
  • Django 用户认证系统处理用户帐号,组,权限以及基于cookie的用户会话。 这个系统一般被称为 auth/a...
    syp_xp阅读 4,097评论 0 1
  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 12,168评论 0 10
  • “我那么爱你,你为什么不能看我一眼。”历子被甩开手,不放弃的说了这么一句。可,灯光下背过身去的男人,脸上还...
    苏择离阅读 3,150评论 0 0

友情链接更多精彩内容