15-auth系统与类视图

01-手写用户验证

02-auth系统与类视图

03使用内置auth应用的认证系统

04-权限系统原理介绍,auth应用表结构

05-使用auth应用的权限系统

 

01-手写用户验证

 

02-auth系统与类视图

从表的名称我们就能看出, auth_user, auth_group, auth_permission分别 存放了用户,用户组,权限的信息表. 另外三张表就是多对多的关系表

 

User:User是auth模块中维护用户信息的关系模式(继承了models.Model), 数据库中该表被命名为auth_user.

Group:User对象中有一个名为groups的多对多字段, 多对多关系由auth_user_groups数据表维护。

Group对象可以通过user_set反向查询用户组中的用户。

Permission:Django的auth系统提供了模型级的权限控制, 即可以检查用户是否对某个数据表拥有增(add), 改(change), 删(delete)权限。

02-1:auth系统中User模型常用属性和方法:

03-1:auth认证系统功能:

create_user 创建用户

authenticate 验证登录

login 记住用户的登录状态

logout 退出登录

is_authenticated 判断用户是否登录

login_required 判断用户是否登录的装饰器

03-2:使用auth系统添加用户:

from django.contrib.auth.models import User

user = User.objects.create_user(username='guang',password='qwe123456')
user.save()

 03-3:使用auth系统:

 03-4:ogin_required 判断用户是否登录的装饰器的使用

第二种方法:setting.py设置:

LOGIN_URL = '/accounts/login/'  #这个路径需要根据你网站的实际登陆地址来设置

另一种方法:

@login_required(login_url='/teacher/now/login/')   # 在装饰器中添加路径

 03-5:logout 退出登录

 

04-权限系统原理介绍,auth应用表结构

01-创建admin管理用户:

python manage.py createsuperuser

02-在admin.py中注册表

# 在项目目录的amin.py中注册模型

from django.contrib import admin
from .models import Student

admin.site.register(Student)   

03-模型管理器

# 模型管理器
class StudentAdmin(admin.ModelAdmin):
    # listdisplay设置要显示在列表中的字段(id字段是Django模型的默认主键)
    list_display = ['name','age','sex','qq','phone']

    # list_per_page设置每页显示多少条记录,默认是100条
    list_per_page = 20

    # ordering设置默认排序字段,负号表示降序排序
    ordering = ('-age',)

    # list_editable 设置默认可编辑字段
    list_editable = ['qq', 'age']

    # search_fields设置搜索
    search_fields = ['name','age','qq']

    # list_filter过滤
    list_filter = ['sex','age']

admin.site.register(Student,StudentAdmin)  # 注册模型

 

05-使用auth应用的权限系统( @permission_required)

 

posted @ 2019-05-14 14:28  放弃吧!孩纸  阅读(169)  评论(0编辑  收藏  举报