当前位置: 首页 > news >正文

DRF 学习


一、安装DRF
    1、pip install djangorestframework -i https://pypi.douban.com/simple
    2、pip install pymysql -i https://pypi.douban.com/simple
二、创建Django项目
    1、django-admin startproject drfdemo
三、添加rest_framework应用
    1、INSTALLED_APPS = [
                ...
                'rest_framework',
            ]
四、创建模型操作类
1、创建模型操作类

class Student(models.Model):# 模型字段name = models.CharField(max_length=100,verbose_name="姓名")sex = models.BooleanField(default=1,verbose_name="性别")age = models.IntegerField(verbose_name="年龄")class_null = models.CharField(max_length=5,verbose_name="班级编号")description = models.TextField(max_length=1000,verbose_name="个性签名")class Meta:db_table="tb_student"verbose_name = "学生"verbose_name_plural = verbose_name


2、创建数据库 create database students charset=utf8;
3、执行数据迁移 把app01增加到INSTALL_APPS中
4、在__init__.py中增加pymysql做为数据库驱动
    import pymysql
    pymysql.version_info = (1, 4, 13, "final", 0)
    pymysql.install_as_MySQLdb()
5、在setting.py配置文件中设置mysql的账号密码

    DATABASES = {# 'default': {#     'ENGINE': 'django.db.backends.sqlite3',#     'NAME': BASE_DIR / 'db.sqlite3',# }'default':{'ENGINE':'django.db.backends.mysql','NAME': "students","HOST": "127.0.0.1","PORT": 3306,"USER": "root","PASSWORD": "123456"}
}

6、终端命令下执行数据迁移
    python manage.py migrate #创建表结构
    python manage.py makemigrations app01#让Django知道模型有一些变更    注意是app01 应用名称,不是项目名称
    python manage.py migrate app01  #创建表结构    注意是app01 应用名称,不是项目名称

7、在app01中新建serializers.py用于保存应用的序列化器。
    # 创建序列化器类,回头会在试图中被调用 创建一个StudentModelSerializer用于序列化与反序列化。

    class StudentModelSerializer(serializers.ModelSerializer):class Meta:model = Studentfields = "__all__"

8、编写视图类
    在app01应用的views.py中创建视图StudentViewSet,这是一个视图集合。

    from django.shortcuts import renderfrom rest_framework.viewsets import ModelViewSetfrom .models import Studentfrom .serializers import StudentModelSerializer# Create your views here.class StudentViewSet(ModelViewSet):queryset = Student.objects.all()serializer_class = StudentModelSerializer


    #queryset 指明该视图集在查询数据时使用的查询集
    #serializer_class 指明该视图在进行序列化或反序列化时使用的序列化器9、定义路由


    新建urls.py 添加路由信息
    

    from . import viewsfrom rest_framework.routers import DefaultRouter#路由列表urlpatterns = []router = DefaultRouter() #可以处理视图的路由router.register('student',views.StudentViewSet) #像路由器中注册视图集urlpatterns += router.urls  #将路由器中的所有路由追加到django的路由列表中把students子应用中的路由文件加载到总路由中from django.contrib import adminfrom django.conf.urls import urlfrom django.urls import pathfrom django.urls import includefrom . import  viewsurlpatterns = [#path('admin/', admin.site.urls),#url(r'^$',views.hello),path('',views.hello), #http://127.0.0.1:8000/hello/path('print',views.print),  #http://127.0.0.1:8000/printpath('templates',views.templates),path("stu/",include("app01.urls")),]

    点击链接127.0.0.1:8000/stu/students获取所有数据
 

http://www.lryc.cn/news/223179.html

相关文章:

  • 2023年双11有哪些便宜的云服务器值得推荐?
  • [Java/力扣160]相交链表
  • LLVM学习笔记(60)
  • Linux命令查看pcap包报文数量、包体包含内容、包长
  • C++二分算法: 找出第 K 小的数对距离
  • 【计算机网络笔记】网络层服务模型——虚电路网络
  • 软文推广过程中,如何精准定位受众
  • 说说对React中类组件和函数组件的理解?有什么区别?
  • Unity 实例化物体以及赋予到父物体之下
  • Docker 介绍
  • VScode连接Xshell 并解决【过程试图写入的管道不存在】报错
  • Redis之事务
  • 【数据结构】树与二叉树(五):二叉树的顺序存储(初始化,插入结点,获取父节点、左右子节点等)
  • 【HarmonyOS】HarmonyOS备案获取公钥和指纹
  • ,多数据源+Mybatisplus + Sharding JDBC同一库中分表
  • Docsify 和 Hugo 之间的选型
  • 第二十章 ObjectScript 应用程序中的数值计算 - 转换:十进制到 $DOUBLE
  • C语言【趣编程】我们怎样便捷输出空心的金字塔
  • 《JavaScript设计模式》笔记 - - - 超全设计模式概览
  • 浅谈Vue 3的响应式对象: ref和reactive
  • 怎么学编程效率高,编程练习网站编程软件下载,中文编程开发语言工具下载
  • Alphago Zero的原理及实现:Mastering the game of Go without human knowledge
  • STM32 堆栈空间分布
  • 小程序制作(超详解!!!)第十五节 自动随机变化的三色旗
  • MySQL_主从复制_环境搭建
  • Linux 设置静态IP(Ubuntu 20.04/18.04)
  • 计网----累积应答,TCP的流量控制--滑动窗口,粘包问题,心跳机制,Nagle算法,拥塞控制,TCP协议总结,UDP和TCP对比,中介者模式
  • OpenCV 直方图和归一化
  • Flink架构
  • Packet Tracer路由器连接终端设备怎么配置?