django社交类程序笔记(1)项目概览
swiper Social
类似于“探探”的社交类程序,采用亲啊后端分离结构,主要包含下列模块:
1.项目概况:
个人模块
社交模块
VIP模块
异步任务模块
redis缓存模块
日志模块,异常处理模块
短信模块,邮件模块
运维, 部署
前端模块
其他
2项目目标
了解真实项目的开发流程
掌握如何使用git完成协作开发和代码管理
掌握restful的概念,掌握前后端分离式的开发
掌握日志的使用
掌握缓存的使用
掌握redis不同数据类型的用法
掌握celery异步任务处理
掌握Nginx的配置,及负载均衡的原理
了解分布式数据库及数据分片
掌握数据库关系建模,及不适用外键如何构建关系
掌握服务器异常处理,及报警处理
熟练掌握常用linux命令,以及初级bash脚本的开发
掌握线上服务器安装,部署
理解进程,线程,协程的原理,以及多路复用,事件驱动,异步非阻塞等概念
对服务器架构,服务高可用等有一个初步认识。
3其他内容:
MVC松耦合,好管理
高内聚-低耦合
Objects.all
Objects.filter
Objects.create
Views
Request/response
Template
Static
Logic
C control,在django中
可复用
模块化思想
View函数,不能被调用。返回值比较特殊是request,网站模板和传数据。
def user_info(request):
uid = request.POST.get(‘uid’)
...
return render(request, 'index.html', {})
程序提前规划好:
公司中项目目录一般是这样:
微博配置,第三方,短信配置放在其他配置里other_config.py。
common 中公共文件夹,可以放中间件
app中有数据库迁移文件,helper.py或者logic.py小功能,view.py中只做函数的调用。
lib 中放缓存cache,http处理,orm改写,对底层改写都放在这,独立,底层的库放在这里
work 放一些耗时任务,定时任务,异步任务。