版本: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认证系统