框架篇-Django博客应用-用户系统

时间:2022-06-26
本文章向大家介绍框架篇-Django博客应用-用户系统,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

django 自带的用户验证系统,主要包括 登录、注册、注销、重置密码...

创建管理员用户

在终端虚拟环境对应的 manage.py 文件目录下,输入:

$ python manage.py createsuperuser

然后根据提示输入管理员的用户名、邮箱和密码。

或者 在 Pycharm 下执行 createsuperuser 命令行

输入刚才注册的用户名和密码登录后,进入站点管理页面

进入 django 管理后台时,也有一个登录页面,那是管理员用来登录到管理后台的,而不是普通用户的登录页面。

使用 Django 自带的用户身份验证视图

在 blog/blog/urls.py 文件中添加:

urlpatterns = [
    path("", include("django.contrib.auth.urls")),
]

它包含了如下的这些 url:

  1. login/ [name='login']
  2. logout/ [name='logout']
  3. password_change/ [name='password_change']
  4. password_change/done/ [name='password_change_done']
  5. password_reset/ [name='password_reset']
  6. password_reset/done/ [name='password_reset_done']
  7. reset/<uidb64>/<token>/ [name='password_reset_confirm']
  8. reset/done/ [name='password_reset_complete']

先来实现 login ,login 默认的模版是 registration/login.html ,此模版需要手动去创建。

  • 在 blog/templates/ 目录下创建 registration/ 目录,然后在 blog/templates/registration/ 目录创建 login.html 文件:
{% if user.is_authenticated %}{% endif %}

is_authenticated 是 user 对象自带的方法,用来检测用户是否登录。

<a href="{% url 'password_reset' %}">忘记密码?</a>

密码重置链接,点击进入密码重置页面。

设置登录成功后的跳转页面

在登录成功后,默认的跳转页面是 /accounts/profile/;可以在 settings.py 文件中修改:

LOGIN_REDIRECT_URL = '/blog/'

登录成功后,会跳转到博客首页。