Django完整入门指南-第4部分
- 2017年9月25日
- 73分钟阅读
- 158 comments
- 意见
- 7的第4部分
苹果电脑 视窗 的Linux
介绍
本教程将全部关于Django的身份验证系统。 我们将实现整个过程:注册,登录,注销,密码重置和密码更改。
您还将简要介绍如何保护未授权用户的某些视图以及如何访问已登录用户的信息。
在下一节中,您将找到我们将在本教程中实现的一些与身份验证相关的页面的线框。 之后,您将找到新Django应用程序的初始设置。 到目前为止,我们一直在开发一个名为board的应用程序。 但是所有与身份验证相关的内容都可以存在于不同的应用程序中,以便更好地组织代码。
线框
我们必须更新应用程序的线框。 首先,我们将为顶部菜单添加新选项。 如果用户未通过身份验证,我们应该有两个按钮:注册并登录。
图1:未经身份验证的用户的顶部菜单。
如果用户通过了身份验证,我们应该显示其名称以及带有三个选项的下拉菜单:我的帐户,更改密码和注销。
图2:经过身份验证的用户的顶部菜单。
在登录页面上,我们需要一个包含用户名和密码的表单,一个具有主要操作(登录)的按钮以及两个替代路径:注册页面和密码重置页面。
图3:登录页面
在注册页面上,我们应该有一个包含四个字段的表单: 用户名 , 电子邮件地址 , 密码和密码确认。 用户还应该能够访问登录页面。
图4:注册页面
在密码重置页面上,我们将有一个仅包含电子邮件地址的表单。
图5:密码重置
然后,在单击特殊令牌链接后,用户将被重定向到可以设置新密码的页面:
图6:更改密码
最初设定
要管理所有这些信息,我们可以在其他应用中对其进行细分。 在项目根目录中,在manage.py脚本所在的页面中,运行以下命令以启动新应用程序:
django-admin startapp accounts
项目结构现在应该像这样:
myproject/ |-- myproject/ | |-- accounts/ <-- our new django app! | |-- boards/ | |-- myproject/ | |-- static/ | |-- templates/ | |-- db.sqlite3 | +-- manage.py +-- venv/
下一步,将帐户应用程序添加到settings.py文件中的INSTALLED_APPS
中:
INSTALLED_APPS = [ 'django.contrib.admin' , 'django.contrib.auth' , 'django.contrib.contenttypes' , 'django.contrib.sessions' , 'django.contrib.messages' , 'django.contrib.staticfiles' , 'widget_tweaks' , 'accounts' , 'boards' , ]
从现在开始,我们将使用帐户应用程序。