注册表单、视图和模板
学习如何创建一个注册页面,以便人们可以注册。
现在我们已经有了登录页面,接下来需要为用户提供注册并创建账户的功能。
注册页面的 URL 路径
每次创建新页面时,都需要在 urls.py 中添加对应的 URL 路径。我们在 urls.py 的第 9 行添加了 Register 的 URL 路径,如下图所示。
No configuration found for ID: 8fdb02d15e277e7c4cf6ffa4d9dbcfa3805ffc0191dd2e287ebb7cc256d83686
注册表单
为了开始注册用户,我们将创建一个表单,供用户进行注册。我们将采用与新建房源表单相同的方法。
打开 users/forms.py 查看 Register 表单的代码。我们导入了 UserCreationForm(第 1 行),它继承自 ModelForm 类,用于帮助我们创建新用户。同时我们还导入了 User 模型(第 2 行),该模型将在数据库中作为一张表存储用户信息,类似于 Listings 模型。在这种情况下,我们无需自行创建 User 模型,因为 Django 已经为我们提供了现成的版本。
其余代码创建了一个与 New Listing 表单类似的表单,但使用 User 作为模型,并包含代码中指定的字段。
注册视图
打开 users/views.py 查看 Register 视图的代码。这个视图几乎与 New Listing 视图完全相同。我们创建一个显示 UserForm 字段的表单。当用户提交表单后,系统会保存数据,并重定向到登录页面,以便他们使用新账号登录。最后,该表单会被传递给 Register 模板(users/templates/registration/register.html),以完成页面渲染。
添加注册页面链接
请参考 base.html 的第 10 行,查看如何在导航栏中添加 Register 页面的链接。
运行应用后,你可以在导航栏中看到 REGISTER 链接。点击该链接后,将跳转至注册页面。
创建一些账户,并尝试用这些账户逐一登录。浏览网站并创建一些房源。目前,这些房源尚未归属于任何用户,我们将在下一章解决这个问题。
检查用户是否成功创建的一个好方法是登录管理后台。登录后进入 Users 页面,你应该能看到迄今为止所有已创建的用户。