路飞学成书写规范的总结

命名

项目/文件/函数 -> 小写+下划线

类 驼峰式

路由

将每个功能的路由进行分割,

或者做上注释

类和方法的注释

每个类都要注释是干什么的

每个方法也要进行注释标明处理逻辑

特殊的异常需要捕获

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的返回

事务

在操数据库的时候,可能需要对两张表以上的数据进行修改(有关联)

例如 文章评论数,和评论内容那么需要用事务在解决

减少代码层级

增加代码的可读性

Django 路飞学成书写规范的总结的更多相关文章

  1. $Django 路飞学城项目简介

    - 基于极验实现动态验证码 - 在线视频播放:cc,HTML用的Flash - 基于Rest Framework实现 API接口 - 自定义rest认证token 认证 - 序列化以及自定义验证对请求 ...

  2. drf框架之 路飞学城(第二天)

    1.第二天的项目是用户购物的数据存入到购物车中,这样保存的数据是存放在redis中 1. 首先先配置redis的数据库链接: #注意, 数据从redis中获取到的内容,最原始的是二进制形式的数据,想要 ...

  3. python 全栈开发,Day98(路飞学城背景,django ContentType组件,表结构讲解)

    昨日内容回顾 1. 为什么要做前后端分离? - 前后端交给不同的人来编写,职责划分明确. - API (IOS,安卓,PC,微信小程序...) - vue.js等框架编写前端时,会比之前写jQuery ...

  4. django环境部署 crm和路飞学城

    环境依赖 yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-de ...

  5. 路飞学城Python-Day59(第五模块记录)

    HTML部分 <!DOCTYPE html> <html lang="en"> <head> <!--head标签的主要作用:文档的头部主 ...

  6. linux vue uwsgi nginx 部署路飞学城 安装 vue

    vue+uwsgi+nginx部署路飞学城 有一天,老男孩的苑日天给我发来了两个神秘代码,听说是和mjj的结晶 超哥将这两个代码,放到了一个网站上,大家可以自行下载 路飞学城django代码#这个代码 ...

  7. linux --- 7. 路飞学城部署

    一.前端 vue 部署 1.下载项目的vue 代码(路飞学城为例), wget https://files.cnblogs.com/files/pyyu/07-luffy_project_01.zip ...

  8. docker部署路飞学城

    docker部署路飞学城blog来啦 部署需求分析: 之前是将nginx.django.vue直接部署在服务器上,既然学了docker,试试怎么部署在docker中 1.环境准备 一台linux服务器 ...

  9. 路飞学城Python-Day53

    01-jquery的介绍 JS在做项目或者是实现功能的时候,用JS去操作DOM元素非常复杂,代码量大,重复性代码也多 多个元素使用for循环遍历也是非常麻烦的,对于JS使用来说加大了难度 jQuery ...

随机推荐

  1. 2017.7.18 windows下ELK环境搭建

    参考来自:Windows环境下ELK平台的搭建 另一篇博文:2017.7.18 linux下ELK环境搭建 0 版本说明 因为ELK从5.0开始只支持jdk 1.8,但是项目中使用的是JDK 1.7, ...

  2. linux下rar包的解压方法

    linux下rar包的解压方法 学习了:https://blog.csdn.net/yonggeit/article/details/72190246?utm_source=itdadao&u ...

  3. snmp弱口令引起的信息泄漏

    0x00 snmp协议简介 snmp协议即简单网络管理协议(SNMP,Simple Network Management Protocol).目前一共有3个版本:V1,V2c,V3.V3是最新的版本, ...

  4. 单例模式 - GCD 、兼容ARC和MRC

    单例模式 - GCD .兼容ARC和MRC 单例模式的作用: 1,能够保证在程序执行过程.一个类仅仅有一个实例,并且该实例易于供外界訪问 2,从而方便地控制了实例个数,并节约系统资源 单例模式的使用场 ...

  5. mongo: 改

    语法:db.CollectionName.upadte(查询表达式,新值,选项); 查询表达式:定位哪些列是要被修改的列(即使查询表达式能命中多行,默认也只改一行,如果想改多行,可以用multi选项, ...

  6. PJSIP dialog inv销毁

    PJSIP的Diaglog(类型为pjsip_dialog) 可以被外部调用,同时PJSIP有自己的机制销毁用户创建的 Dialog,如PJSIP内部销毁了某个Diaglog,用户在不知情的情况下继续 ...

  7. python文件备份脚本

    import osimport time source = ['D:\\MyDrivers\hotfix']   #这里可以用自然字符串表示r',因为windows下的分隔符与python的有冲突,所 ...

  8. tony_update yum

    更改方法是这样的 在 /etc/yum.repos.d 下 1  wget http://mirrors.163.com/.help/CentOS6-Base-163.repo 2  #mv  Cen ...

  9. TC2安装方法

    电驴下载TC2英文原版安装文件,3 Disk,安装方法记录如下: cmd.exe chcp 437 挂载安装文件夹1到A盘 subst a: d:\c\Disk1 另开一个cmd,转到A盘,输入ins ...

  10. spring roo初体验

    1.下载spring-roo-2.0.0.M1,并执行如下命令,在/usr/local/bin下面建立一个roo的软连接   sudo ln -s /Users/pud/Documents/still ...