Django 路飞学成书写规范的总结
2024-09-06 15:56:51
路飞学成书写规范的总结
命名
项目/文件/函数 -> 小写+下划线
类 驼峰式
路由
将每个功能的路由进行分割,
或者做上注释
类和方法的注释
每个类都要注释是干什么的
每个方法也要进行注释标明处理逻辑
特殊的异常需要捕获
user=models.UserInfo.objects.get(username=username,password=pwd)
from django.core.exceptions import ObjectDoesNotExist
#获取值异常
except ObjectDoesNotExist as e:
ret.code=1003
ret.error = '用户名或者密码错误' except IndexError as e :
#获取索引异常
username=request.data.get('username')
pass
不用admin就直接注释。
因为在Django启动的时候会加载admin
模块导入
- 先放置内置模块,再放自己写的模块进行区分
- 短的往上放
import uuid
from rest_framework.views import APIView
from rest_framework.response import Response
from django.core.exceptions import ObjectDoesNotExist from api import models
from utils.response import BaseResponse
取一条用get
取单挑数据尽量用get
简单逻辑先往上放
简单的逻辑往上放,
复杂的逻辑往下放
封装数据对象
在路飞学成里封装响应对象
延伸出来的是,传输数据尽量用类进行封装
接口如何编写
业务:
返回所有 http://127.0.0.1:8000/api/v2/course/1/
多个接口 http://127.0.0.1:8000/api/v2/course/1/
http://127.0.0.1:8000/api/v2/section/?course=1
http://127.0.0.1:8000/api/v2/chapter/?course=1
根据业务逻辑和上司的要求,在api返回接口的时候,可以全部返回
也可以一个model一个model的返回
事务
在操数据库的时候,可能需要对两张表以上的数据进行修改(有关联)
例如 文章评论数,和评论内容那么需要用事务在解决
减少代码层级
增加代码的可读性
最新文章
- chartControl绑定数据源
- 通信原理实践(一)——音频信号处理
- 动态生成dropdownlist
- mysql把查询的结果格式成日期
- DBN(深度信念网络)
- Android Service 服务
- http to https automatic--weblogic/jboss/tomcat--reference
- 计划任务可以过UAC?直接添加到计划任务(未经测试)
- r语言之条件、循环语句
- scrapy代理的设置
- dot.js模板实现分离式
- python numpy模块使用笔记(更新)
- 下划线“_”在oracle中不是单纯的表示下划线的意思,而是表示匹配单一任何字符!
- PHP数组大全
- 02: djangorestframework使用
- spring整合mybatis、hibernate、logback配置
- Objective-C 与JAVA的SHA1/HmacSHA1加密算法实现
- 升级ndk后Android studio的build错误
- 关于Class中的Signature属性
- 说说http协议中的编码和解码
热门文章
- 转: 理解UDDI (from IBM Dev)
- windows 10 超级优化提速 附系统服务列表纯净
- 构建Spring Boot程序有用的文章
- python可hash 不可hash类型
- left menu
- 使用C++11封装线程池ThreadPool
- vue-router 嵌套路由
- Android--Handler的用法:在子线程中更新界面
- es6/es7 对象数组的合并拷贝
- org.hibernate.type.SerializationException: could not deserialize 反序列化失败