-
Notifications
You must be signed in to change notification settings - Fork 0
django auth
Django自带的用户验证系统,支持用户、群组、权限、注册、登入登出,包含预定义的view和form但是没有template。
-INSTALLED_APPS
-
django.contrib.auth
-
django.contrib.contenttypes
-
MIDDLEWARE_CLASSES
-
SessionMiddleware
-
AuthenticationMiddleware
-
Using Django’s default implementation
-
Working with User objects
-
Permissions and authorization
-
Authentication in web requests
-
Managing users in the admin
-
API reference for the default implementation
-
Customizing Users and authentication
-
Password management in Django
创建用户、更改密码、验证用户名密码
布尔值,可对用户或组设置,可对一个实例而非类设置
变量request.user,用is_authenticated()判断是否登录。
登录先authenticate()再login(),登出logout()。
访问限制:@login_required,@user_passes_test,@permission_required
预置的view:login,logout,logout_then_login,password_change,password_change_done,password_reset,password_reset_done,password_reset_confirm,password_reset_complete
函数:redirect_to_login
预置的form:AdminPasswordChangeForm,AuthenticationForm,PasswordChangeForm,PasswordResetForm,SetPasswordForm,UserChangeForm,UserCreationForm
template中的调用:user,perms
像学校网络学堂和信息门户共用一套密码,我们用不到
在Model里嵌套定义类Meta。 @tadpole 自行决定。
四种方式:proxy,one-to-one,AUTH_PROFILE_MODULE,substitute。
- proxy:只能增加行为,不能增加实际存储的字段。
- one-to-one:自定义一个Profile Model,存储与验证无关的个人信息。
- AUTH_PROFILE_MODULE:在Django 1.5中被弃用!
- substitute:高级功能,如用邮箱取代用户名,我们不用。
综上,建议 @tadpole 使用ont-to-one。