用户能注册账户之后,接下来要让用户能够登录。为此,要执行以下几步:
❏ 定义一个视图,处理登录凭据
❏ 创建一个模板,显示登录表单
❏ 把登录视图映射到一个 URL 上
❏ 在首页添加登录链接
定义登录视图
首先,打开 Rango 应用的 views.py 模块,定义一个新视图,名为 user_login() 。这个视图负责处
理登录表单提交的数据,以及登入用户。
def user_login(request):
# 如果是 HTTP POST 请求,尝试提取相关信息
if request.method == 'POST':
# 获取用户在登录表单中输入的用户名和密码
# 我们使用的是 request.POST.get('<variable>')
# 而不是 request.POST['<variable>']
# 这是因为对应的值不存在时,前者返回 None,
# 而后者抛出 KeyError 异常
username = request.POST.get('username')
password = request.POST.get('password')
# 使用 Django 提供的函数检查 username/password 是否有效
# 如果有效,返回一个 User 对象
user = authenticate(username=username, password=password)
# 如果得到了 User 对象,说明用