首页 后端开发 Python教程 什么是 Django Rest 框架?

什么是 Django Rest 框架?

Aug 01, 2024 pm 09:14 PM

What is Django Rest Framework?

在这篇文章中,我将解释 Rest Framework。在讨论技术细节之前,我们先来谈谈什么是 Rest Framework。
Rest Framework 是一个高级框架,允许我们为移动应用程序、Web 应用程序和桌面应用程序编写通用后端。例如,您可以在移动应用程序和 Web 应用程序中使用使用 Rest Framewok 编码的后端服务器。
您可以使用 Rest Framework 结合 Angular、React、Vue 等前端技术来开发应用程序。由于 Rest Framework 在编程中以通用结构提供响应,因此您可以将这些输出与 Angular 或 React 一起使用。那么这些输出有哪些类型呢?当然还有像 JSON 这样的结构。当然,您也可以选择将这些输出以不同的结构发送到前端。现在让我们继续编码

创建项目
1) django-admin startproject projeName

我们已经创建了我们的项目。现在让我们运行我们的项目。

2) python manage.py runserver

然后,让我们编写必要的命令来在数据库中创建必要的表。

3) python manage.py 迁移

别忘了将我们创建的应用程序添加到settings.py 文件下的INSTALLED_APPS 目录中。
一切都好。现在我们可以继续执行其余框架的必要步骤。
要在我们的计算机上安装 Rest Framework,我们需要在终端中运行以下命令。

1) pip install djangorestframework
例如;
已安装的应用程序 = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'POSTAPP',
]

现在我们已经添加了Rest框架,我们可以开始创建API了。为此,我们需要在我们创建的应用程序文件夹中创建一个名为 API 的文件夹和一些文件。让我们添加这些文件:

您的_项目/
api/
init.py
视图.py
urls.py
序列化器.py

通过 ** init.py** 文件,我们表明该文件夹是一个 Python 模块
views.py ** 文件是我们将编写类或函数的文件,这些类或函数将提供我们将发送给传入请求的答案。
**urls.py
文件是我们将在其中设置 API url 的文件,您可以从 Django 的结构中猜测到。
serializers.py 文件是我们将在其中编写结构的文件,这些结构会将传入的查询集转换为我们想要的格式(例如 JSON)。我们将逐步详细介绍这一点。
首先,让我们转到项目主文件夹中准备好的 urls.py 文件,并根据我们创建的 API 文件夹定义 url 路径。

urlpatterns = [
路径('admin/', admin.site.urls),
路径("api/post/",include("YOUR_PROJECT.api.urls",namespace="post")),
]

我们已经有一个管理路径。我们还添加了一个新路径 api/post。使用 Include 方法,我们将传入 api/post/ 的请求重定向到我们创建的 API 文件夹中的 url 文件。
现在,让我们快速为我们创建的帖子编写一个模型。让我们来看看 YOUR_PROJECT 文件夹中的 models.py 文件。

类 PostModel(models.Model):
作者 = models.ForeignKey(User,on_delete=models.CASCADE)
标题 = models.CharField(max_length=50)
内容 = models.TextField()
Draft = models.BooleanField(default=False)
ModifiedDate = models.DateTimeField(editable=False)

创建模型后,让我们在终端中编写必要的代码以在数据库中创建表。

python manage.py makemigrations

使用这些代码,我们创建了在数据库中创建表所需的 Python 文件。我们将运行以下命令来创建表。

*python manage.py 迁移 *

现在让我们来看看我们创建的 YOUR_PROJECT 目录下 api 文件夹中的空 urls.py 文件。

来自 django.urls 导入路径
从 .views 导入 YourProjectAPIView

app_name="帖子"
urlpatterns = [
路径(“列表/”,YourProjectAPIView.as_view(),name =“your_project”),
]

首先,我们使用 app_name=”post” 指定应用程序名称。
现在,我们尝试导入尚未创建的视图,并尝试根据我们的路径使用它们。让我们立即创建视图,其名称已写入 YOUR_PROJECT/api 目录下的views.py 文件中。
首先,让我们创建一个视图,在该视图中我们将使用 JSON 结构的请求发送数据库中的所有帖子。

从 POSTAPP.models 导入 PostModel
从rest_framework.generics导入ListAPIView

类 PostListAPIView(ListAPIView):
serializer_class = PostSerializer
queryset = PostModel.objects.all()

让我们解释一下我们在这里做了什么。我们使用 ListAPIView 类创建了一个视图,该类为 Rest Framework 中的列表过程做好了准备。首先,我们确定将使用查询集变量返回哪个模型。我们需要指定序列化器类,它将序列化来自该模型的数据,即查询集。毕竟我们不会向对方发送查询集。我们将发送序列化的 JSON 对象。将查询集转换为 JSON 对象的结构将是我们将创建的序列化器。
现在,我在serializer_class变量中创建了一个名为PostSerializer的序列化器。我们将在同一目录中的serializers.py 文件中创建此序列化器。现在让我们来创建它。

从rest_framework导入序列化器

类 YourProjectSerializer(serializers.ModelSerializer):
类元:
模型 = PostModel
fields = ["作者","标题","内容",'草稿','修改日期']

以上是什么是 Django Rest 框架?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1667
14
CakePHP 教程
1426
52
Laravel 教程
1328
25
PHP教程
1273
29
C# 教程
1255
24
Python:游戏,Guis等 Python:游戏,Guis等 Apr 13, 2025 am 12:14 AM

Python在游戏和GUI开发中表现出色。1)游戏开发使用Pygame,提供绘图、音频等功能,适合创建2D游戏。2)GUI开发可选择Tkinter或PyQt,Tkinter简单易用,PyQt功能丰富,适合专业开发。

Python与C:学习曲线和易用性 Python与C:学习曲线和易用性 Apr 19, 2025 am 12:20 AM

Python更易学且易用,C 则更强大但复杂。1.Python语法简洁,适合初学者,动态类型和自动内存管理使其易用,但可能导致运行时错误。2.C 提供低级控制和高级特性,适合高性能应用,但学习门槛高,需手动管理内存和类型安全。

Python和时间:充分利用您的学习时间 Python和时间:充分利用您的学习时间 Apr 14, 2025 am 12:02 AM

要在有限的时间内最大化学习Python的效率,可以使用Python的datetime、time和schedule模块。1.datetime模块用于记录和规划学习时间。2.time模块帮助设置学习和休息时间。3.schedule模块自动化安排每周学习任务。

Python vs.C:探索性能和效率 Python vs.C:探索性能和效率 Apr 18, 2025 am 12:20 AM

Python在开发效率上优于C ,但C 在执行性能上更高。1.Python的简洁语法和丰富库提高开发效率。2.C 的编译型特性和硬件控制提升执行性能。选择时需根据项目需求权衡开发速度与执行效率。

Python标准库的哪一部分是:列表或数组? Python标准库的哪一部分是:列表或数组? Apr 27, 2025 am 12:03 AM

pythonlistsarepartofthestAndArdLibrary,herilearRaysarenot.listsarebuilt-In,多功能,和Rused ForStoringCollections,而EasaraySaraySaraySaraysaraySaraySaraysaraySaraysarrayModuleandleandleandlesscommonlyusedDduetolimitedFunctionalityFunctionalityFunctionality。

Python:自动化,脚本和任务管理 Python:自动化,脚本和任务管理 Apr 16, 2025 am 12:14 AM

Python在自动化、脚本编写和任务管理中表现出色。1)自动化:通过标准库如os、shutil实现文件备份。2)脚本编写:使用psutil库监控系统资源。3)任务管理:利用schedule库调度任务。Python的易用性和丰富库支持使其在这些领域中成为首选工具。

学习Python:2小时的每日学习是否足够? 学习Python:2小时的每日学习是否足够? Apr 18, 2025 am 12:22 AM

每天学习Python两个小时是否足够?这取决于你的目标和学习方法。1)制定清晰的学习计划,2)选择合适的学习资源和方法,3)动手实践和复习巩固,可以在这段时间内逐步掌握Python的基本知识和高级功能。

Python vs. C:了解关键差异 Python vs. C:了解关键差异 Apr 21, 2025 am 12:18 AM

Python和C 各有优势,选择应基于项目需求。1)Python适合快速开发和数据处理,因其简洁语法和动态类型。2)C 适用于高性能和系统编程,因其静态类型和手动内存管理。

See all articles