Django写CRUD


基于Django写CRUD接口

安装Django相关环境

  • 安装Django
pip install django
  • 创建Django项目

    • 使用命令行创建(已加入环境变量)

      django-admin startproject django_crud_restful
      

      如果忘记配置环境变量,请配置上,教程如下:

      1、先找一下Python的安装路径

      pip -V
      

      2、在系统变量的Path最后,追加Python的Scripts路径

      C:\Users\YoonaDa\AppData\Local\Programs\Python\Python311\Scripts\
      
    • 使用PyCharm创建

  • 安装 Django REST framework

pip install djangorestframework

新增/修改配置

新建应用

  • 新建应用

    cd C:\PycharmProjects\django_crud_restful
    
    python manage.py startapp api
    

  • 修改settings.py(INSTALLED_APPS中加入刚刚新建的应用的主配置类的路径)

连接MySQL

  • 首先,自己的MySQL(建议8.x版本)创建一下数据库,比如:django_crud_restful

  • 创建一张测试表吧

    CREATE TABLE `sys_user` (
      `id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增id',
      `username` varchar(60) COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户名',
      `password` varchar(60) COLLATE utf8mb4_general_ci NOT NULL COMMENT '密码',
      `phone` varchar(20) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '手机号码',
      `age` int DEFAULT NULL COMMENT '年龄',
      `sex` int DEFAULT '0' COMMENT '性别:0、未知;1、男;2、女;默认为:0',
      `create_time` datetime DEFAULT NULL COMMENT '创建时间',
      `update_time` datetime DEFAULT NULL COMMENT '更新时间',
      `is_delete` int DEFAULT '0' COMMENT '是否删除:0、未删除;1、删除;默认为:0',
      PRIMARY KEY (`id`),
      UNIQUE KEY `unique_username_index` (`username`) USING BTREE
    ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='系统用户表';
    
  • 命令行安装pymysql

    pip install pymysql
    
  • 修改settings.py

    • 默认是sqlite3,注释掉

    • 修改为MySQL

      DATABASES = {
          "default": {
              "ENGINE": "django.db.backends.mysql",
              "NAME": "django_crud_restful",
              "USER": "root",
              "PASSWORD": "DD123456aa",
              "HOST": "43.142.62.156",
              "PORT": "3336",
          }
      }
      
  • 修改项目文件夹下的__init__.py文件

    import pymysql
    
    pymysql.install_as_MySQLdb()
    
  • 执行迁移命令

    python manage.py makemigrations
    
    python manage.py migrate
    

编写接口

逆向工程生成实体

  • 执行生成命令,生成到db.py中
python manage.py inspectdb > db.py
  • 拷贝我们的测试表到model.py中

安装 Django REST framework

  • 执行如下命令:
pip install djangorestframework
  • 在项目的 settings.py 文件中,将 'rest_framework' 添加到 INSTALLED_APPS 列表

  • 新建serializers.py

from rest_framework import serializers
from .models import SysUser

class SysUserSerializer(serializers.ModelSerializer):
    class Meta:
        model = SysUser
        fields = '__all__'
  • 修改views.py
from django.shortcuts import render

# Create your views here.
from rest_framework import viewsets
from .models import SysUser
from .serializers import SysUserSerializer

class SysUserViewSet(viewsets.ModelViewSet):
    queryset = SysUser.objects.all()
    serializer_class = SysUserSerializer
  • 修改url.py
from django.urls import path, include

from rest_framework.routers import DefaultRouter
from api.views import SysUserViewSet

router = DefaultRouter()
router.register(r'users', SysUserViewSet)

urlpatterns = [
    path('api/', include(router.urls)),
]

启动服务

http://127.0.0.1:8000/api/users/


文章作者: YoonaDa
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 YoonaDa !
  目录