什么是 Django Rest 框架?
在这篇文章中,我将解释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管理.py runserver
然后,让我们编写必要的命令来在数据库中创建必要的表。
3) python 管理.py 迁移
别忘了将我们创建的应用程序添加到settings.py文件下的INSTALLED_APPS目录中。
一切都好。现在我们可以继续执行其余框架的必要步骤。
要在我们的计算机上安装 Rest Framework,我们需要在终端中运行以下命令。
1)pip 安装 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 的文件夹和一些文件。让我们添加这些文件:
YOUR_PROJECT/
API/
init.py
视图.py
url.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 /”,包括(“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管理.py makemigrations
使用这些代码,我们创建了在数据库中创建表所需的 Python 文件。我们将运行以下命令来创建表。
*python管理.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中文网其它相关文章!