掌握 Django:从头开始构建安全的用户身份验证 API
“## 第四天
#100daysofMiva 编码挑战赛已经进行四天了。 ???
? 深入了解 django:从头开始构建安全的用户身份验证 api!
您准备好将您的 Django 技能提升到新水平了吗? ? 在本教程中,我将指导您使用 Django 创建强大的用户身份验证 API。无论您是经验丰富的开发人员还是新手,本分步指南都将引导您完成设置用户注册、登录和基于令牌的身份验证。
在本课程结束时,您将充分了解如何:
让我们开始编码吧! ?✨
第 1 步:设置 Django 环境:
为此,您需要安装python:通过运行以下命令确保Python已安装:
macOS/Linux:
Python 通常是预先安装的。您可以通过运行来检查:
或
如果需要,通过 Homebrew (macOS) 或包管理器 (Linux) 安装 Python:
Windows:
从 python 下载并安装 Python。
确保在安装过程中选中将 Python 添加到您的 PATH 的复选框。
步骤 2. 设置虚拟环境:
macOS/Linux:
创建并激活虚拟环境:
Windows:
创建并激活虚拟环境:
步骤 3. 安装 Django 和软件包
现在没有包的框架是什么?…让我们安装我们需要的包。?
激活虚拟环境后,安装 Django 和其他软件包的命令在所有操作系统上都是相同的:
说明:
`
步骤 4. 创建并配置 Django 项目
macOS/Linux/Windows:
创建 Django 项目和应用程序:
让我们简化必要的事情:
步骤 5. 更新项目设置
所有操作系统:
修改settings.py以包含您的应用程序和已安装的软件包。
文件:auth_project/settings.py
我们来解释一下吧?:
INSTALLED_APPS:这是您注册应用程序和第三方软件包的地方。在这里,您添加用于API功能的rest_framework,用于JWT身份验证的rest_framework_simplejwt,以及用于管理用户相关任务的用户(您创建的应用程序)。
一次不知道所有步骤也没关系…只需要练习,你就会做对的
继续前进…?
从这里抬起头来看着伙计们?
步骤 6. 创建序列化器
文件:users/serializers.py
说明:
第7步:创建视图
文件:users/views.py
说明:
第 8 步:设置 URL
文件:users/urls.py
此代码写在应用程序的 URL 中
说明:
URL 模式:这些定义映射到视图的路径。
**register/**:此 URL 将处理用户注册。
然后转到您的项目文件:**auth_project/urls.py**
然后输入这个…?
说明:
到下一个这里就可以好好休息了?…以后就没有压力了呵呵..
第 9 步:运行迁移
命令:
这样做的功能/目的是,它根据您在项目中定义的模型和字段对数据库架构进行更改。我们上面精心策划的那些?
换句话说,它使项目保持最新状态
第10步:运行服务器并测试
命令:
此命令启动 Django 开发服务器,使您的项目可以在本地访问。 (您当地的港口)
现在让我们看看到目前为止我们做了什么……
使用 Postman 或 cURL 进行测试(您可以从 IDE 下载此扩展)
使用邮递员
1.网址:127.0.0.1:8000/api/auth/register/
2.方法:邮寄
对于这一部分,Django-Rest Framework 有一个友好的用户界面,因此比其他框架更容易在这里导航
如果成功,您应该收到 HTTP 状态代码 201 Created 的响应以及包含用户数据的 JSON 响应。
测试令牌身份验证端点
为了确保 JWT 身份验证正常工作,请测试令牌端点。
使用邮递员:
4、点击发送。
您应该收到带有访问和刷新令牌的 JSON 响应:
**
故障排除技巧
**
服务器未启动:确保您位于正确的目录中并已激活虚拟环境。
端点错误:仔细检查您的 URL 路径并确保您的 Django 应用程序已使用 URL 正确设置。
无效响应:验证您的 API 端点和序列化器是否已正确配置。
通过执行这些步骤,您应该能够成功运行 Django 开发服务器、测试注册端点并验证基于令牌的身份验证。
上一篇:感觉没有动力
相关推荐
-
可视化项目
我目前正在开发 TanaMobility,这是一个使用 Dash 和 Python 开发的交互式平台。该项目旨在通过利用地理空间数据对马达加斯加塔那那利佛的交通流进行建模和可视化,以更好地了解人口流动
-
C++ 函数性能优化在云计算环境中的应用实践
在云计算中,c++++ 函数性能优化至关重要,可提升响应速度、降低成本和提高满意度。优化技术包括:内联函数,消除函数调用开销。使用引用,避免拷贝参数。有效管理内存,利用智能指针和 raii。最小化函数
-
我用 Golang 重写了我的 JS 项目,想分享我的经验
两年前,我用 NodeJS 为自己构建了一个小型服务器 一个基于 HTTP 的 SQLite 代理。当您需要通过网络与消费者共享数据集时,它非常有用。经过多次重构和新的需求,现在我终于决定用 Gol
-
C++ 函数最佳实践在开源项目中的体现
C++ 函数最佳实践在开源项目中的体现遵循 C++ 函数最佳实践对于编写维护性高且可重用的代码至关重要。在开源项目中,遵循这些实践尤为重要,因为代码库由来自不同背景的多个贡献者贡献。以下是 C++ 函
-
C++ 框架在大型项目中如何处理并发编程
c++++ 框架通过线程、互斥体、条件变量、原子操作和并发容器等功能,帮助大型项目处理并发编程,确保线程安全的数据访问和高效任务执行。C++ 框架在大型项目中处理并发编程并发编程对于大型软件项目至关重