• 【后端】Django与Django REST Framework的结合使用


    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


    前言

    随着开发语言及人工智能工具的普及,使得越来越多的人会主动学习使用一些开发语言,本文主要介绍Django与Django REST Framework的结合使用。


    一、创建django项目

    创建Django项目通常包括以下步骤:

    1. 安装Django: 首先,确保你的系统中已经安装了Python。然后使用pip(Python包管理器)安装Django。在命令行中执行以下命令:
    pip install django
    
    • 1
    1. 创建Django项目: 在你选择存放项目的目录中,执行以下命令来创建一个Django项目:
    django-admin startproject myproject
    
    • 1

    这将创建一个名为myproject的Django项目目录,其中包含一些默认的文件和目录结构。

    1. 进入项目目录: 进入到刚刚创建的项目目录:
    cd myproject
    
    • 1

    在这里插入图片描述

    1. 运行开发服务器: 在项目目录下执行以下命令来启动Django的开发服务器:
    python manage.py runserver
    
    • 1

    默认情况下,开发服务器会在本地启动,监听在8000端口。你可以在浏览器中访问http://127.0.0.1:8000/来查看Django的欢迎页面。

    注意事项:运行之前需要配置好本地数据库连接,而数据库访问要提前安装mysql驱动。
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    1. 创建应用程序: Django项目可以包含一个或多个应用程序。应用程序是Django的组件,用于处理特定功能或模块。你可以使用以下命令创建一个新的应用程序:
    python manage.py startapp myapp
    
    • 1

    这将创建一个名为myapp的应用程序目录,其中包含一些默认的文件和目录结构。

    1. 配置数据库: 默认情况下,Django使用SQLite作为开发环境下的默认数据库。如果你想使用其他数据库,比如MySQL、PostgreSQL等,你需要在项目的settings.py文件中进行相应的配置。要注意的是下图的配置需要在访问运行开发服务器前进行。
      在这里插入图片描述

    2. 定义模型: 在应用程序中定义模型类,用于描述数据结构和关系。你可以在models.py文件中定义模型类,并且通过Django的ORM来操作数据库。
      在这里插入图片描述

    3. 编写视图和URL路由: 在应用程序中编写视图函数,用于处理HTTP请求,并且配置URL路由来将URL映射到相应的视图函数上。
      在这里插入图片描述
      在这里插入图片描述

    4. 创建模板: 在应用程序中创建模板文件,用于生成HTML页面。你可以使用模板语言来动态地渲染页面内容。

    5. 运行迁移: 在定义了模型后,你需要执行数据库迁移操作,将模型映射到数据库表中。执行以下命令来运行迁移:

    python manage.py makemigrations
    python manage.py migrate
    
    • 1
    • 2

    这将创建数据库表和字段,使其与模型定义保持同步。
    在这里插入图片描述

    1. 编写业务逻辑: 编写应用程序的业务逻辑,包括处理用户请求、查询数据库、处理数据等操作。
      在这里插入图片描述

    2. 测试和调试: 编写单元测试和集成测试来确保应用程序的功能正常运行,并且进行必要的调试和优化。

    通过以上步骤,你可以创建一个基本的Django项目,并且开始开发你的应用程序。记得查阅Django官方文档以获取更多详细的信息和指南。

    二、django与rest framework的交互

    Django和Django REST Framework(简称DRF)是两个非常强大的Python web框架。结合它们可以构建出功能丰富、高效的Web应用程序,特别是针对RESTful API的开发。

    下面是使用Django和DRF结合的一般步骤:

    1. 安装Django REST Framework:使用pip安装Django REST Framework。
    pip install djangorestframework
    
    • 1

    在这里插入图片描述

    1. 配置Django REST Framework:将DRF添加到Django项目的INSTALLED_APPS中,并配置任何其他必要的设置。
    # settings.py
    
    INSTALLED_APPS = [
        ...
        'rest_framework',
        'myapp',
        ...
    ]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    1. 定义序列化器:在Django应用程序中定义序列化器,序列化器用于将模型实例转换为JSON等格式,并反之亦然。
    # serializers.py
    
    from rest_framework import serializers
    from .models import MyModel
    
    class MyModelSerializer(serializers.ModelSerializer):
        class Meta:
            model = MyModel
            fields = '__all__'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    1. 定义视图:在Django应用程序中定义基于DRF的视图,这些视图负责处理HTTP请求并返回适当的响应。
    # views.py
    
    from rest_framework import viewsets
    from .models import MyModel
    from .serializers import MyModelSerializer
    
    class MyModelViewSet(viewsets.ModelViewSet):
        queryset = MyModel.objects.all()
        serializer_class = MyModelSerializer
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    1. 配置URL路由:在项目的URL配置文件中,将DRF的路由器与视图关联起来。
    # urls.py
    
    from django.urls import path, include
    from rest_framework.routers import DefaultRouter
    from myapp.views import MyModelViewSet
    
    router = DefaultRouter()
    router.register(r'mymodels', MyModelViewSet)
    
    urlpatterns = [
        path('', include(router.urls)),
    ]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    在这里插入图片描述

    1. 运行开发服务器:最后,使用Django的开发服务器运行项目,并确保一切正常。
    python manage.py runserver
    
    • 1

    现在,您的Django项目已经集成了Django REST Framework。
    在这里插入图片描述


    三、总结

    以上就是今天要讲的内容,本文简单介绍了Django项目的创建及与REST Framework的结合使用。在上面项目示例中也介绍了具体项目中是如何操作使用的,日常我们可以通过RESTful API来管理数据模型,并且可以通过访问相应的URL来访问和操作资源。

  • 相关阅读:
    Ambari-yarn-timeline 内置 HBase数据表清理
    TS类型全解
    家居建材供应链模式盘点,数商云供应链SCM系统助力企业做好采购计划管理
    人工智能技术的应用前景:改变我们的生活和工作方式
    C++lambda表达式
    python基础(Python高级特性(切片、列表生成式)、字符串的正则表达式、函数、模块、Python常用内置函数、错误处理)培训讲义
    Appium入门自动化测试(6)—— Appium 常用方法的自己动手封装
    监控web项目都访问了那些网址
    信号处理之巴特沃斯滤波器的理解----2022/11/30
    重走JAVA之类与对象相关的
  • 原文地址:https://blog.csdn.net/weixin_43366051/article/details/138027702