Django 路飞学成书写规范的总结
路飞学成书写规范的总结
命名
项目/文件/函数 -> 小写+下划线
类 驼峰式
路由
将每个功能的路由进行分割,
或者做上注释
类和方法的注释
每个类都要注释是干什么的
每个方法也要进行注释标明处理逻辑
特殊的异常需要捕获
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 路飞学成书写规范的总结的更多相关文章
- $Django 路飞学城项目简介
- 基于极验实现动态验证码 - 在线视频播放:cc,HTML用的Flash - 基于Rest Framework实现 API接口 - 自定义rest认证token 认证 - 序列化以及自定义验证对请求 ...
- drf框架之 路飞学城(第二天)
1.第二天的项目是用户购物的数据存入到购物车中,这样保存的数据是存放在redis中 1. 首先先配置redis的数据库链接: #注意, 数据从redis中获取到的内容,最原始的是二进制形式的数据,想要 ...
- python 全栈开发,Day98(路飞学城背景,django ContentType组件,表结构讲解)
昨日内容回顾 1. 为什么要做前后端分离? - 前后端交给不同的人来编写,职责划分明确. - API (IOS,安卓,PC,微信小程序...) - vue.js等框架编写前端时,会比之前写jQuery ...
- django环境部署 crm和路飞学城
环境依赖 yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-de ...
- 路飞学城Python-Day59(第五模块记录)
HTML部分 <!DOCTYPE html> <html lang="en"> <head> <!--head标签的主要作用:文档的头部主 ...
- linux vue uwsgi nginx 部署路飞学城 安装 vue
vue+uwsgi+nginx部署路飞学城 有一天,老男孩的苑日天给我发来了两个神秘代码,听说是和mjj的结晶 超哥将这两个代码,放到了一个网站上,大家可以自行下载 路飞学城django代码#这个代码 ...
- linux --- 7. 路飞学城部署
一.前端 vue 部署 1.下载项目的vue 代码(路飞学城为例), wget https://files.cnblogs.com/files/pyyu/07-luffy_project_01.zip ...
- docker部署路飞学城
docker部署路飞学城blog来啦 部署需求分析: 之前是将nginx.django.vue直接部署在服务器上,既然学了docker,试试怎么部署在docker中 1.环境准备 一台linux服务器 ...
- 路飞学城Python-Day53
01-jquery的介绍 JS在做项目或者是实现功能的时候,用JS去操作DOM元素非常复杂,代码量大,重复性代码也多 多个元素使用for循环遍历也是非常麻烦的,对于JS使用来说加大了难度 jQuery ...
随机推荐
- 微信小程序 - 获取用户信息的几种方式
1. 老接口(上线使用-测试用button先获取用户信息) // 登录 wx.login({ success: res => { // 发送 res.code 到后台换取 openId, ses ...
- shell3
例一:监控httpd是否正常运行并自动开启 #!/bin/bash port=$(nmap -sT localhost | grep 'http$' |awk '{print $2}') riqi=$ ...
- [JAVA · 0基础]:11.终结者-final
关于finalkeyword的总结,是非常easy学习和掌握的,大致分为用final修饰的符号常量.类.方法.属性四部分.而这四部分的内容也是我们必须掌握的,非常有用.在项目中常常来利用finalke ...
- spark插件入门完整版本
1 在spark项目中添加source folder文件夹,取名为src/plugins/testplugin/src/java 2 在此文件夹下新建包名,取名为com.jivesoftware.sp ...
- sqlplus登入和plsql登入的差别
以下是两种登入方式的截图.用sqlplus登入须要输入主机字: 假设是用本机的SQL*Plus连接本机的数据库.则"主机字符串"能够为空. 假设是从远程连接xp的oracle数据库 ...
- Resharper快捷键及用法
建议你使用 Reshaper 的快捷键,不要担心 Reshaper 会把你原来的快捷键设置给覆盖了,因为如果某个快捷键和 VS 是冲突的,Reshaper会让你自己选择需要使用 VS 还是 Resha ...
- centos7 中文输入法设置
安装centos7 后,他有自带的中文输入法安装包找到 applications->systemTools->settings->region&language 2:在 in ...
- C# SqlBulkCopy类批量导入数据
特别注意 sqlbulkcopy.ColumnMappings.Add(dt.Columns[i].ColumnName, dt.Columns[i].ColumnName); 插入的时候列的顺序可 ...
- 小技巧之Selenium如何切换到弹出的Tab页中
今天群里讨论了一个问题,如何将selenium的操作焦点切换到浏览器中新弹出来的Tab页中,正好对应到了昨天的那篇文章“小技巧之在浏览器中打开新的页签”.今天就带大家来解决这个问题: 先封装一个Tab ...
- IP地址加时间戳加3位随机数
工作中经常用到时间戳加上3位随机数获得唯一流水号,下面是代码~ package com.pb.viewer.filename; import java.text.SimpleDateFormat; i ...