使用 Django 构建用户认证系统

身份验证是保障任何 Web 应用程序安全的关键环节。在 Django REST Framework (DRF) 中,基本身份验证提供了一种使用用户名和密码来验证用户身份的简便方法。这种方法构建在 Django 内置的身份验证系统之上,允许 API 限制访问,并确保只有授权用户才能与受保护的端点进行交互。

Django 中的用户认证系统

第一步: 创建 Django 项目和应用

> django-admin startproject core

> cd core

> python manage.py startapp authentication

文件结构:

!filng文件结构

第二步: 在 settings.py 文件的 Installed_Apps 中注册应用名称。

> INSTALLED_APPS = [

> "django.contrib.admin",

> "django.contrib.auth",

> "django.contrib.contenttypes",

> "django.contrib.sessions",

> "django.contrib.messages",

> "django.contrib.staticfiles",

> "authentication", // App name

> ]
第三步:views.py 视图逻辑

视图用于处理模板渲染以及登录、注册和主页的表单数据处理。

  • home(request)

当用户访问主页时渲染 home.html 模板。

  • login_page(request)

处理用户登录。当收到 POST 请求时,它从表单中获取用户名和密码。它会检查用户是否存在;如果不存在,则显示错误消息并重定向回登录页面。

  • register_page(request)

处理用户注册。当收到 POST 请求时,它从表单中获取名、姓、用户名和密码。它会检查用户名是否已被占用;如果是,则显示消息并重定向回注册页面。

Python


CODEBLOCK_4a15c9cc

第四步:models.py 模型定义

  • 从 Django 导入 models 模块,用于创建和管理数据库模型。
  • django.contrib.auth.models 导入 User 模型,该模型提供了 Django 内置的身份验证系统,用于处理用户数据和权限。

Python


CODEBLOCK_809ed1f8

迁移模型:

> python manage.py makemigrations

> python manage.py migrate

创建超级用户:

> python manage.py createsuperuser

第五步:urls.py 路由配置

该文件定义了 URL 路由,并将它们连接到 Django 应用程序中的视图。

  • 导入 URL 路由、视图、管理界面和文件处理所需的模块。
  • 定义主页、管理页面、登录等 URL 模式。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/49643.html
点赞
0.00 平均评分 (0% 分数) - 0