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

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

文章目录


前言

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


一、创建django项目

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

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

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

  1. 进入项目目录: 进入到刚刚创建的项目目录:
bash 复制代码
cd myproject
  1. 运行开发服务器: 在项目目录下执行以下命令来启动Django的开发服务器:
bash 复制代码
python manage.py runserver

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

注意事项 :运行之前需要配置好本地数据库连接,而数据库访问要提前安装mysql驱动。


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

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

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

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

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

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

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

bash 复制代码
python manage.py makemigrations
python manage.py migrate

这将创建数据库表和字段,使其与模型定义保持同步。

  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。
bash 复制代码
pip install djangorestframework
  1. 配置Django REST Framework :将DRF添加到Django项目的INSTALLED_APPS中,并配置任何其他必要的设置。
python 复制代码
# settings.py

INSTALLED_APPS = [
    ...
    'rest_framework',
    'myapp',
    ...
]
  1. 定义序列化器:在Django应用程序中定义序列化器,序列化器用于将模型实例转换为JSON等格式,并反之亦然。
python 复制代码
# serializers.py

from rest_framework import serializers
from .models import MyModel

class MyModelSerializer(serializers.ModelSerializer):
    class Meta:
        model = MyModel
        fields = '__all__'
  1. 定义视图:在Django应用程序中定义基于DRF的视图,这些视图负责处理HTTP请求并返回适当的响应。
python 复制代码
# 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. 配置URL路由:在项目的URL配置文件中,将DRF的路由器与视图关联起来。
python 复制代码
# 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. 运行开发服务器:最后,使用Django的开发服务器运行项目,并确保一切正常。
bash 复制代码
python manage.py runserver

现在,您的Django项目已经集成了Django REST Framework。


三、总结

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

相关推荐
声声codeGrandMaster23 分钟前
Django框架的前端部分使用Ajax请求一
前端·后端·python·ajax·django
卡尔曼的BD SLAMer34 分钟前
计算机视觉与深度学习 | Python实现EMD-SSA-VMD-LSTM时间序列预测(完整源码和数据)
python·深度学习·算法·cnn·lstm
nuclear20112 小时前
使用Python将 Excel 中的图表、形状和其他元素导出为图片
python·excel·将excel图表转换为图片·将excel文本框转换为图片
小袁拒绝摆烂4 小时前
OpenCV-python灰度变化和直方图修正类型
python·opencv·计算机视觉
Dxy12393102167 小时前
Python 条件语句详解
开发语言·python
龙泉寺天下行走7 小时前
Python 翻译词典小程序
python·oracle·小程序
践行见远7 小时前
django之视图
python·django·drf
love530love8 小时前
Windows避坑部署CosyVoice多语言大语言模型
人工智能·windows·python·语言模型·自然语言处理·pycharm
掘金-我是哪吒9 小时前
分布式微服务系统架构第132集:Python大模型,fastapi项目-Jeskson文档-微服务分布式系统架构
分布式·python·微服务·架构·系统架构
xhdll10 小时前
egpo进行train_egpo训练时,keyvalueError:“replay_sequence_length“
python·egpo