利用rest framework搭建Django API过程解析

我来详细讲解 "利用rest framework搭建Django API过程解析" 的完整攻略,包括两条示例说明。

1. 环境配置

首先需要配置 Python 和 Django 的环境,以及安装 Django Rest Framework 库。

# 安装 Django
pip install Django

# 安装 Django Rest Framework
pip install djangorestframework

2. 创建 Django 项目和应用

使用 Django 自带的命令行工具来创建项目和应用。

# 创建项目
django-admin startproject project_name

# 创建应用
python manage.py startapp app_name

3. 配置数据库

在项目的 settings.py 文件中配置数据库信息。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'db_name',
        'USER': 'db_user',
        'PASSWORD': 'db_password',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

4. 创建模型类

在应用的 models.py 文件中定义模型类,用于生成数据库表格。

from django.db import models

class Book(models.Model):
    name = models.CharField(max_length=100)
    author = models.CharField(max_length=100)
    publish_time = models.DateField()

5. 序列化器

在应用的 serializers.py 文件中定义序列化器,用于将模型类转换成 JSON 格式的数据。

from rest_framework import serializers
from .models import Book

class BookSerializer(serializers.ModelSerializer):
    class Meta:
        model = Book
        fields = '__all__'

6. API 视图

在应用的 views.py 文件中定义 API 视图,在视图中实现对数据库的增删改查操作。

from rest_framework import generics
from .models import Book
from .serializers import BookSerializer

class BookList(generics.ListCreateAPIView):
    queryset = Book.objects.all()
    serializer_class = BookSerializer

class BookDetail(generics.RetrieveUpdateDestroyAPIView):
    queryset = Book.objects.all()
    serializer_class = BookSerializer

7. URL 配置

在项目的 urls.py 文件中配置 URL 映射,将 API 视图和 URL 路径对应起来。

from django.urls import path
from .views import BookList, BookDetail

urlpatterns = [
    path('books/', BookList.as_view(), name='book_list'),
    path('books/<int:pk>/', BookDetail.as_view(), name='book_detail'),
]

8. 示例1:获取所有图书信息

启动 Django 开发服务器后,访问 http://localhost:8000/books/ 即可获得所有图书的JSON格式数据。

9. 示例2:新增一本图书

使用 HTTP POST 请求添加一条图书记录,访问 http://localhost:8000/books/,请求体中包含以下数据即可。

{
    "name": "Django REST framework教程",
    "author": "张三",
    "publish_time": "2021-12-12"
}

以上就是利用 Django Rest Framework 搭建 Django API 的完整攻略,包括环境配置、创建 Django 项目和应用、配置数据库、创建模型类、序列化器、API 视图及 URL 配置等步骤。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:利用rest framework搭建Django API过程解析 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • 如何进行Django单元测试

    如何进行Django单元测试 Django的单元测试使用python的unittest模块,这个模块使用基于类的方法来定义测试。类名为django.test.TestCase,继承于python的unittest.TestCase。   执行目录下所有的测试(所有的test*.py文件):运行测试的时候,测试程序会在所有以test开头的文件中查找所有的tes…

    Django 2023年4月10日
    00
  • Django之URL分发器

    URL映射: 视图写完后,要与URL进行映射(即用户在浏览器中输入什么样的url可以请求到这个视图函数),Django会从url.py文件中寻找相对应的视图,这个文件中有个urlpatterns变量,这个变量中通过path函数包含着要请求的视图。为什么会从url.py文件中寻找呢,因为在setting中有个ROOT_URLCONF = ‘gjz.urls’;…

    2023年4月9日
    00
  • Django_调查问卷

    1、问卷的保存按钮  前端通过ajax把数据发过来后端处理数据,然后返回给前端2、对问卷做答  首先用户进行登录,验证  条件:1、只有本班的学生才能对问卷做答       2、已经参加过的不能再次访问      在前端显示的样式    显示当前问卷的问题  分为(单选,多选,打分,文本)(多选未做)    – 你对近期的工作有哪些意见、。?      1 …

    Django 2023年4月13日
    00
  • Django 中的 Truncate Filter

    在1.4版本以前,内置的 Truncate Filter 只有两种:trancatewords 和 trancatewords_html 。 这里的截断过滤器根据空格为分界符,所以就显得不是很灵活! 1.4版本后有了新的filter:truncatechars   。 这个就能满意要求了。 但如果你是1.4版本以前的,不要沮丧,可以自己写一个。 这里举个例子…

    Django 2023年4月13日
    00
  • Django ORM那些相关操作

    必知必会13条 <1> all(): 查询所有结果 <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <3> get(**kwargs): 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误。 <4> exclude(**kwa…

    Django 2023年4月11日
    00
  • Django之模板

     一:   什么是模板?模板的作用? 二:模板的查找路径的配置 三:常用的模板的语法 四:常用的模板过滤器 五:自定义模板过滤器 六:引入模板 七:模板的继承 八:加载静态文件   一:什么是模板,模板的作用   模板就是一种带有特殊语法的html文件,它能够把表现形式和数据分离开来,然后通过视图返回给浏览器。 二:模板的查找路径:   在项目的settin…

    Django 2023年4月9日
    00
  • Django搭建项目实战与避坑细节详解

    让我来详细讲解一下Django搭建项目实战与避坑细节详解的完整攻略。 1. 安装Django 首先,你需要在本地环境中安装Django。在命令行中运行以下代码: pip install Django 这将安装最新版本的Django。如果你想要安装特定版本的Django,可以使用以下命令: pip install Django==2.2.7 2. 创建并运行D…

    Django 2023年5月16日
    00
  • Django 常用字段和参数

    一.ORM字段 类型 说明 AutoField 一个自动增加的整数类型字段。通常你不需要自己编写它,Django会自动帮你添加字段:`id = models.AutoField(primary_key=True)`,这是一个自增字段,从1开始计数。如果你非要自己设置主键,那么请务必将字段设置为`primary_key=True`。Django在一个模型中只允…

    Django 2023年4月10日
    00
合作推广
合作推广
分享本页
返回顶部