auth
auth
auth组件在django中提供:admin登录、权限的配置等功能。



创建用户
-
命令
python manange.py createsuperuser -
函数
from django.contrib import admin from django.urls import path from django.shortcuts import HttpResponse def demo(request): from django.contrib.auth import models models.User.objects.create_user("user-1", "xxx@live.com", "xxxxxxx123123") models.User.objects.create_superuser("user-2", "xxx@live.com", "xxxxxxx123123") return HttpResponse("ok") urlpatterns = [ path('admin/', admin.site.urls), path('demo/', demo), ]


权限表
由于admin中为每个model类都会生成URL(增、删、改、查),所以在django中就以这些生成的URL的name值为权限标识(codename),后续用户访问时,根据请求url的name中来判断用户是否有权方法。

1.权限表内容
权限表内容是django内部自动生成,在我们执行migrate命令时,会自动触发 根据表创建权限的操作。


2.分配权限
在admin中,给用户可以分配权限。


3.权限校验
由于admin为每个表生成的增删改查的方法分别是:changelist_view、add_view、delete_view、change_view,所以每个权限的判断都定义在了相应的视图函数中。




判断权限:

4.组和权限









浙公网安备 33010602011771号