auth认证协议是什么,
用户认证组件:
功能:用会议记录登录验证状态
前提:用户表:django自带的授权用户
python3 manage.py创建超级用户#创建超级用户补充匿名用户:
API:
来自姜戈. contrib导入授权:
1.#如果验证成功返回用户对象,否则返回没有人
用户=验证验证(用户名=用户,密码=密码)
2 .认证登录(请求,用户)#请求.用户当前登录对象
3.认证登录(请求)
从django.contrib.auth.models导入用户#用户==验证用户
4 .请求.用户.身份验证
5 .用户=用户。对象。创建用户(用户名= ,密码= ,电子邮件= )
补充:
匿名用户对象:
匿名用户
班级模型。匿名用户
姜戈。贡献。auth。模特。匿名用户#这个类实现了姜戈。贡献。auth。模特。用户
借口,但是又几点不同:
编号永远是没有人
用户名永远为空字符串
获取用户名()永远返回空字符串
is_staff和是_超级用户永远是错误的
是活动的永远是错误的
组和用户权限永远为空
is _ annonymous()返回真实的而不是错误的
is_authenticated()返回时假的,而不是真实的
设置密码()、检查密码()、保存()和删除()引发NotImplementedError。
Django 1.8中的新功能:
新增AnonymouseUser.get_username()以更好的模拟姜戈。贡献。auth。mou dels用户
总结:
如果不是:auth.login(请求,用户)请求。user=匿名用户()
else:request.user==登录对象
请求。用户是一个全局变量views.py
快捷方式导入渲染,重定向
#在此创建您的观点。
来自姜戈. contrib导入授权
从django.contrib.auth.models导入用户
装饰者导入登录_必填
定义登录(请求):
if request.method==POST :
# 取得账号密码,验证用户对象
用户=请求. POST.get(用户)
pwd=请求POST.get(pwd )
#如果验证成功返回用户对象,否则返回没有人
用户=验证验证(用户名=用户,密码=密码)
如果用户:
认证登录(请求,用户)#请求.用户:当前登录对象
next_url=请求. GET.get(next ,/index/)
返回重定向(下一个网址)
返回渲染(请求,《login.html》)
# 登录验证装饰器
@登录_必填
定义索引(请求):
# 打印匿名用户信息
#打印(请求。用户:,请求。用户。用户名)
#打印(请求。用户:,请求。用户。id)
#打印(请求。用户:,请求。用户。is _匿名)
#
# #如果request . user . is _匿名:
#如果不是请求.用户.身份验证:
#返回重定向(/login/)
用户名=请求。用户。用户名
return render(请求, index.html ,{ 用户名:用户名})
#返回渲染(请求,《index.html》)
@登录_必填
定义订单(请求):
如果不是请求.用户.身份验证:
返回渲染(请求,《order.html》)
返回渲染(请求,《order.html》)
# 注销登录
定义注销(请求):
认证注销(请求)
返回重定向(/login/)
# 注册页面
定义注册(请求):
# 取得注册信息
if request.method==POST :
用户=请求. POST.get(用户)
pwd=请求POST.get(pwd )
# 这种是不对的
#用户.对象.创建(用户名=用户,密码=密码)
user=User.objects.create_user(用户名=用户,密码=密码)
返回重定向(/login/)
返回render(request, reg.html)views.py
settings.py
# LANGUAGE_CODE=en-us
语言代码=zh-Hans
# TIME_ZONE=UTC
TIME_ZONE=亚洲/上海
USE_I18N=True
USE_L10N=True
USE_TZ=True
#使用TZ=假
#静态文件(CSS、JavaScript、图像)
# https://docs.djangoproject.com/en/2.0/howto/static-files/
STATIC_URL=/static/
LOGIN_URL=/login/settings.py
urls.py
来自姜戈. contrib导入管理
从django.urls导入路径
从博客导入视图
urlpatterns=[
路径( admin/,admin.site.urls),
路径( login/,views.login),
path(index/,views.index),
path(order/,views.order),
path(logout/,views.logout),
path(reg/,views.reg),
]urls.py
努力成为一个开发者个人站点:www.pythonav.cn
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。