django自带的auth认证系统

  

版本:python2.7 django 1.8.16


项目名称:site_test,应用:研究

目录结构:

→site_test :树   .   ├──db.sqlite3   ├──jobs   ├──site_test   │,,,├──,__init__ . py   │,,,├──,__init__.pyc   │,,,├──,settings.py   │,,,├──,settings.pyc   │,,,├──,urls . py   │,,,├──,urls.pyc   │,,,├──,views.py   │,,,├──,views.pyc   │,,,├──,wsgi.py   │,,,└──,wsgi.pyc   ├──,静态的   └──,模板   ,,,├──,index . html   ,,,├──,login.html   ,,,├──,登记   ,,,│,,,└──,login.html   ,,,└──,研究


1, site_test/设置文件中

INSTALL_APPS中要包含<强> 和<强>



MIDDLEWARE_CLASSES中要包含:

<李>

SessionMiddleware:用户处理用户会话。

<李>

AuthenticationMiddleware:绑定一个用户对象到请求中。

默认就有这两个中间件


INSTALLED_APPS =, (   ,,,# #其他应用,   ,,,& # 39;django.contrib.auth& # 39;   ,,,& # 39;django.contrib.contenttypes& # 39;   ,,   )      MIDDLEWARE_CLASSES =, (   ,,,& # 39;其他中间件列表& # 39;,   ,,,& # 39;django.contrib.sessions.middleware.SessionMiddleware& # 39;   ,,,& # 39;django.contrib.auth.middleware.AuthenticationMiddleware& # 39;   )


2, site_test/url。py文件,

登录,loginout是django自带的方法,需要从django.contrib.auth。视图中导入才能使用

得到django.conf.urls  import 包括url   得到django.contrib  import 管理      import 观点      import  django.contrib.auth.views  as  auth_views  # #不要忘记导入这个      urlpatterns =, (   ,,,url(" # 39;管理/^ & # 39;,,包括(admin.site.urls)),,,   ,,,url(" # 39;登录/^ & # 39;,,auth_views.login),   ,,,url(" # 39; ^注销/& # 39;,,auth_views.logout_then_login),   ,,,url (" # 39; ^ $ & # 39;,, views.index),   )

<强>

^登录/$,[name=& # 39;登录# 39;】   ^注销/$,[name=& # 39;注销# 39;】   ^ password_change/$, [name=& # 39; password_change& # 39;】   ^ password_change/完成/$,[name=& # 39; password_change_done& # 39;】   ^ password_reset/$, [name=& # 39; password_reset& # 39;】   ^ password_reset/完成/$,[name=& # 39; password_reset_done& # 39;】   ^重置/(?术;uidb64> 0-9A-Za-z_ \[-] +)/(?术;token> [0-9A-Za-z] {1, 13} - [0-9A-Za-z] {1, 20})/$, [name=& # 39; password_reset_confirm& # 39;】   ^重置/完成/$,[name=& # 39; password_reset_complete& # 39;]



3, site_test/观点。py:

该文件定义了访问<强> 页面的视图方法,该文件需要自己创建。加上login_required()意思是在访问该页面之前需要登录


#编码:utf - 8   得到django.shortcuts  import 重定向,渲染      得到django.contrib.auth.decorators  import  login_required      @login_required ()   def 指数(请求):   ,,,return 渲染(请求,,& # 39;index . html # 39;)



该文件位于模板/注册/login.html 

如果您不想调用模板/login.html注册,您可以通过额外的参数将template_name参数传递给as_view你的URLconf中的方法。

,例如,下面URLconf中的行将使用myapp/登录。html:

url(" # 39; ^账户/登录/$ & # 39;,,auth_views.LoginView.as_view (template_name=& # 39; myapp/login.html& # 39;)),


登录。html文件内容

& lt; ! DOCTYPE  html>   & lt; html>      & lt; head>   ,,,& lt; meta  charset=癠TF-8"比;   ,,,& lt; title> & lt;/title>   & lt;/head>      & lt; body>      ,,,& lt; form  action=& # 39;强生# 39;,方法=& # 39;文章# 39;比;   ,,,{%,csrf_token  %}   ,,,& lt; label 为=皍sername"在用户名:& lt;/label>   ,,,& lt; input 类型=皌ext", name=皍sername",价值=https://www.yisu.com/zixun/" id="用户名">   <标签="密码">密码:>   <!—— - ->      

django自带的auth认证系统