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

什么程序做网站收录好wordpress 悬浮公告

什么程序做网站收录好,wordpress 悬浮公告,衡水网站联系电话,手表商城网站建设原生Django实现学生管理API需要200行代码#xff0c;而DRF仅需20行#xff01;揭秘如何用序列化器提升10倍开发效率。 目录 一、Web应用模式演进 1.1 前后端不分离 1.2 前后端分离 二、API接口规范之争 2.1 RPC#xff08;远程过程调用#xff09; 2.2 RESTful…        原生Django实现学生管理API需要200行代码而DRF仅需20行揭秘如何用序列化器提升10倍开发效率。 目录 一、Web应用模式演进 1.1 前后端不分离 1.2 前后端分离 二、API接口规范之争 2.1 RPC远程过程调用 2.2 RESTful表征状态转移 核心原则 幂等性保证 三、DRF核心序列化器 3.1 序列化器的作用 序列化模型对象 → Python字典 → JSON 反序列化JSON → Python字典 → 模型对象 3.2 定义序列化器 3.3 常用字段类型速查 四、DRF环境配置实战 4.1 安装与配置 4.2 项目配置 4.3 模型定义 五、DRF极简开发模式 5.1 模型序列化器 5.2 视图集配置 5.3 路由配置 5.4 接口测试效果 六、高级序列化技巧 6.1 自定义验证 6.2 重写创建/更新 6.3 只读/只写字段 七、DRF核心优势总结 一、Web应用模式演进 1.1 前后端不分离 服务端主导后端直接生成HTML/CSS/JS 工作流程 graph LR A[浏览器请求] -- B[应用服务器] B -- C[数据库查询] C -- D[模板渲染] D -- E[返回HTML] 1.2 前后端分离 核心解耦 前端独立静态资源服务HTML/CSS/JS 后端纯数据接口JSON/XML 数据交互流程 graph LR 浏览器 -- |请求HTML| 静态服务器 浏览器 -- |请求数据| 应用服务器 应用服务器 -- 数据库 静态服务器 -- |返回文件| 浏览器 应用服务器 -- |返回JSON| 浏览器 二、API接口规范之争 2.1 RPC远程过程调用 特点 单一入口http://api.xxx.com/ POST请求为主 参数指定动作actionget_studentsclass301 数据格式Protobuf/JSON/XML 痛点 接口命名混乱 函数参数膨胀 历史接口重复 2.2 RESTful表征状态转移 核心原则 资源即名词/students/、/avatars/ HTTP动词定义操作 HTTP方法端点动作POST/students/创建学生GET/students/获取所有学生GET/students/pk/获取单个学生PUT/students/pk/全量更新PATCH/students/pk/部分更新DELETE/students/pk/删除学生 幂等性保证 方法幂等安全GET✓✓POST✗✗PUT/PATCH✓✗DELETE✓✗ 三、DRF核心序列化器 3.1 序列化器的作用 序列化模型对象 → Python字典 → JSON student Student.objects.get(id1) serializer StudentSerializer(student) return JsonResponse(serializer.data) 反序列化JSON → Python字典 → 模型对象 data request.data serializer StudentSerializer(datadata) if serializer.is_valid():serializer.save() # 保存到数据库 3.2 定义序列化器 from rest_framework import serializersclass StudentSerializer(serializers.Serializer):id serializers.IntegerField(read_onlyTrue)name serializers.CharField(max_length100)sex serializers.BooleanField(defaultTrue)age serializers.IntegerField(min_value0)description serializers.CharField(allow_blankTrue) 3.3 常用字段类型速查 字段类型说明关键参数CharField字符串max_length, allow_blankEmailField邮箱格式-IntegerField整型min_value, max_valueDateTimeField日期时间format%Y-%m-%d %H:%MChoiceField选择字段choices((1, 男), (0, 女))FileField文件上传max_length, allow_empty_file 四、DRF环境配置实战 4.1 安装与配置 # 创建虚拟环境 python -m venv drf_env source drf_env/bin/activate# 安装依赖 pip install django3.2.4 djangorestframework pymysql 4.2 项目配置 settings.py关键配置 INSTALLED_APPS [...rest_framework,students, # 你的应用 ]DATABASES {default: {ENGINE: django.db.backends.mysql,NAME: students,HOST: 127.0.0.1,PORT: 3306,USER: root,PASSWORD: 123} } 4.3 模型定义 # students/models.py class Student(models.Model):name models.CharField(max_length100, verbose_name姓名)sex models.BooleanField(defaultTrue, verbose_name性别)age models.IntegerField(verbose_name年龄)classmate models.CharField(max_length5, verbose_name班级)description models.TextField(verbose_name签名)class Meta:db_table tb_student 五、DRF极简开发模式 5.1 模型序列化器 # students/serializers.py from rest_framework import serializers from .models import Studentclass StudentModelSerializer(serializers.ModelSerializer):class Meta:model Studentfields __all__ # 包含所有字段# fields (id, name, age) # 指定字段# exclude (description,) # 排除字段extra_kwargs {age: {min_value: 0},name: {max_length: 50}} 5.2 视图集配置 # students/views.py from rest_framework.viewsets import ModelViewSet from .models import Student from .serializers import StudentModelSerializerclass StudentViewSet(ModelViewSet):queryset Student.objects.all()serializer_class StudentModelSerializer 5.3 路由配置 # students/urls.py from django.urls import path, include from rest_framework.routers import DefaultRouter from .views import StudentViewSetrouter DefaultRouter() router.register(students, StudentViewSet)urlpatterns [path(, include(router.urls)) ] 5.4 接口测试效果 DRF自动生成调试界面 GET /students/学生列表 POST /students/创建学生 PUT /students/1/更新ID1的学生 DELETE /students/1/删除学生 六、高级序列化技巧 6.1 自定义验证 class StudentSerializer(serializers.ModelSerializer):...# 字段级验证def validate_age(self, value):if value 1:raise serializers.ValidationError(年龄不能小于1岁)return value# 对象级验证def validate(self, attrs):if attrs[age] 30 and attrs[classmate] 101:raise serializers.ValidationError(30岁以上不能加入101班)return attrs 6.2 重写创建/更新 def create(self, validated_data):# 添加额外逻辑if validated_data.get(score) 90:validated_data[level] Areturn Student.objects.create(**validated_data)def update(self, instance, validated_data):instance.name validated_data.get(name, instance.name)...instance.save()return instance 6.3 只读/只写字段 class UserSerializer(serializers.ModelSerializer):password serializers.CharField(write_onlyTrue) # 仅用于输入last_login serializers.DateTimeField(read_onlyTrue) # 仅用于输出class Meta:model Userfields (username, password, last_login) 七、DRF核心优势总结 序列化器自动处理模型↔JSON转换 视图集5行代码实现CRUD接口 认证模块JWT/OAuth开箱即用 调试界面自动生成API文档 扩展生态过滤/分页/限流插件
文章转载自:
http://www.morning.fgrcd.cn.gov.cn.fgrcd.cn
http://www.morning.ntyanze.com.gov.cn.ntyanze.com
http://www.morning.nthyjf.com.gov.cn.nthyjf.com
http://www.morning.pumali.com.gov.cn.pumali.com
http://www.morning.xcjwm.cn.gov.cn.xcjwm.cn
http://www.morning.kstlm.cn.gov.cn.kstlm.cn
http://www.morning.srzhm.cn.gov.cn.srzhm.cn
http://www.morning.yxlpj.cn.gov.cn.yxlpj.cn
http://www.morning.nxfwf.cn.gov.cn.nxfwf.cn
http://www.morning.pmghz.cn.gov.cn.pmghz.cn
http://www.morning.xxhc.cn.gov.cn.xxhc.cn
http://www.morning.blqmn.cn.gov.cn.blqmn.cn
http://www.morning.nxzsd.cn.gov.cn.nxzsd.cn
http://www.morning.yxbdl.cn.gov.cn.yxbdl.cn
http://www.morning.hmwjk.cn.gov.cn.hmwjk.cn
http://www.morning.rcklc.cn.gov.cn.rcklc.cn
http://www.morning.pmbcr.cn.gov.cn.pmbcr.cn
http://www.morning.hqrr.cn.gov.cn.hqrr.cn
http://www.morning.lsssx.cn.gov.cn.lsssx.cn
http://www.morning.qmsbr.cn.gov.cn.qmsbr.cn
http://www.morning.mhsmj.cn.gov.cn.mhsmj.cn
http://www.morning.tjwfk.cn.gov.cn.tjwfk.cn
http://www.morning.hwsgk.cn.gov.cn.hwsgk.cn
http://www.morning.zrqs.cn.gov.cn.zrqs.cn
http://www.morning.nqgff.cn.gov.cn.nqgff.cn
http://www.morning.srrrz.cn.gov.cn.srrrz.cn
http://www.morning.ztrht.cn.gov.cn.ztrht.cn
http://www.morning.kmcby.cn.gov.cn.kmcby.cn
http://www.morning.lkkgq.cn.gov.cn.lkkgq.cn
http://www.morning.wmmqf.cn.gov.cn.wmmqf.cn
http://www.morning.rpth.cn.gov.cn.rpth.cn
http://www.morning.dyxlm.cn.gov.cn.dyxlm.cn
http://www.morning.xbckm.cn.gov.cn.xbckm.cn
http://www.morning.rfqk.cn.gov.cn.rfqk.cn
http://www.morning.bwznl.cn.gov.cn.bwznl.cn
http://www.morning.nynyj.cn.gov.cn.nynyj.cn
http://www.morning.bhrbr.cn.gov.cn.bhrbr.cn
http://www.morning.zbjfq.cn.gov.cn.zbjfq.cn
http://www.morning.wrbnh.cn.gov.cn.wrbnh.cn
http://www.morning.ymbqr.cn.gov.cn.ymbqr.cn
http://www.morning.ztnmc.cn.gov.cn.ztnmc.cn
http://www.morning.ntqjh.cn.gov.cn.ntqjh.cn
http://www.morning.zlgbx.cn.gov.cn.zlgbx.cn
http://www.morning.lkfhk.cn.gov.cn.lkfhk.cn
http://www.morning.gassnw.com.gov.cn.gassnw.com
http://www.morning.gglhj.cn.gov.cn.gglhj.cn
http://www.morning.jfmyt.cn.gov.cn.jfmyt.cn
http://www.morning.mstrb.cn.gov.cn.mstrb.cn
http://www.morning.lnckq.cn.gov.cn.lnckq.cn
http://www.morning.rydhq.cn.gov.cn.rydhq.cn
http://www.morning.zcmpk.cn.gov.cn.zcmpk.cn
http://www.morning.psxcr.cn.gov.cn.psxcr.cn
http://www.morning.rjjys.cn.gov.cn.rjjys.cn
http://www.morning.srgsb.cn.gov.cn.srgsb.cn
http://www.morning.bhjyh.cn.gov.cn.bhjyh.cn
http://www.morning.qwwcf.cn.gov.cn.qwwcf.cn
http://www.morning.gwyml.cn.gov.cn.gwyml.cn
http://www.morning.qqzdr.cn.gov.cn.qqzdr.cn
http://www.morning.jzxqj.cn.gov.cn.jzxqj.cn
http://www.morning.bsxws.cn.gov.cn.bsxws.cn
http://www.morning.tngdn.cn.gov.cn.tngdn.cn
http://www.morning.tcylt.cn.gov.cn.tcylt.cn
http://www.morning.xphls.cn.gov.cn.xphls.cn
http://www.morning.nbsbn.cn.gov.cn.nbsbn.cn
http://www.morning.zczkm.cn.gov.cn.zczkm.cn
http://www.morning.ljzgf.cn.gov.cn.ljzgf.cn
http://www.morning.zmbzl.cn.gov.cn.zmbzl.cn
http://www.morning.dbnrl.cn.gov.cn.dbnrl.cn
http://www.morning.aiai201.cn.gov.cn.aiai201.cn
http://www.morning.rccpl.cn.gov.cn.rccpl.cn
http://www.morning.fnfhs.cn.gov.cn.fnfhs.cn
http://www.morning.jfqpc.cn.gov.cn.jfqpc.cn
http://www.morning.gqbks.cn.gov.cn.gqbks.cn
http://www.morning.sgbk.cn.gov.cn.sgbk.cn
http://www.morning.bxbnf.cn.gov.cn.bxbnf.cn
http://www.morning.trqzk.cn.gov.cn.trqzk.cn
http://www.morning.wktbz.cn.gov.cn.wktbz.cn
http://www.morning.twfdm.cn.gov.cn.twfdm.cn
http://www.morning.rccbt.cn.gov.cn.rccbt.cn
http://www.morning.jqcrf.cn.gov.cn.jqcrf.cn
http://www.tj-hxxt.cn/news/240335.html

相关文章:

  • 在哪个网站可以学做衣服深圳外贸10强公司
  • 小璇seo优化网站如何做网络投票网站
  • 庆阳市建设局网站最新公司注册流程
  • 中英文网站好处在线识别图片来源
  • 网站建设公司推荐q479185700顶上wordpress的链接怎么设置
  • 电商网站文档秦皇岛住建部官网
  • 网站建设文献英文网店推广方式怎么写
  • 泰安有口碑的企业建站公司WordPress淘客转链插件
  • 怎么通过所有的网站推广广告厦门人才网唯一官网招聘
  • 易云自助建站响应式网站建设视频教程
  • 最新获取网站访客qq接口深圳营业执照网上申报入口
  • 惠州网站建设优化上海未成年人思想道德建设网站
  • 林州市网站建设正规大宗商品交易平台
  • 建设官方网站网站备案在线注销
  • 网站如何推广引流做业务一般要注册哪些网站
  • 凡科建站怎么导出网页杭州互联网网站公司
  • 做网站需要参考书目书网站备案需要花钱吗
  • 建设网站的总结做网站推广怎么找客户
  • 医院网站推广渠道应用之星制作app软件官网
  • 淘宝券搜索网站怎么做哪些网站有搜索引擎作弊的
  • 网站建设和微信小程序网站开发属于专利吗
  • 网站开发 自我评价太原网站建设费用
  • 设计本网站建一个区域网站需要多少资金
  • 网站推广分销系统建设电子商务网站所应用的技术
  • 建设网站的网站是什么c2c网站建设的需求分析
  • 网站建设不要摸板用php做网站上传图片的代码
  • wordpress手机模板怎么用长春网站优化公司
  • 沈阳网站建设思路威海网站开发网络公司
  • wordpress 标签云页面模板建网站怎么做seo
  • 新材建设局网站网站建设 思路