一、Django 现状
1、Django开发前景
1.1 老师做过的项目
项目图展示:
1.2 Django的厉害之处
-
在python中,与web开发环境相关的包有13045个
-
django就占了9091个,大约70%
-
在python中,活跃的web框架多达54个,其中最活跃的有,Django,Flask,Pyramid,Zope
-
最受欢迎的就是Django,没有之一
-
超过5263个中大型网站使用Django开发
1.3 哪些公司在使用Django?
2、版本
-
1.11(2017年4月发布,支持python2.7,在2020全面推行python3之后,将不再提供服务)
-
2.0-2.1(2.0版本,2017年12月发布,只支持python3,将长期支持,向下兼容)
-
2.0主要在一下方面做了改进:
-
简化url路由语法
-
更友好的admin站点
-
auth支持更高强度的加密算法(PBKDF2)
-
runserver支持HTTP 1.1
-
二、开发流程
本项目,我们会尽量模拟真实web开发场景来讲解项目,在大家工作之后能立刻融入到开发团队中。
开发流程图如下图所示:
三、需求分析
1、网站类型
本项目主要完成一个个人新闻博客类网站,用于知识分享,交友互动等
2、主页模块
-
轮播图
-
热门文章推荐
-
文章标签、文章列表(可加载更多)
-
左侧广告展示
-
个人联系方式
3、用户模块
-
注册
-
短信验证码(云通信平台)
-
图片验证码
-
-
登录
-
用户名和手机号登录
-
第三方登录(可能会拓展QQ、微信登录等)
-
-
个人中心页
4、在线视频模块
实现在线播放视频功能,用于福利课视频展示等。
5、文件下载模块
实现相关资源共享,如课件笔记等。
6、搜索模块
使用流行的elasticsearch收缩引擎框架,实现网站资源快速搜索定位功能。
7、后台管理模块
-
文章标签管理
-
文章发布
-
文章管理
-
热门文章管理
-
主页轮播图管理
-
课程发布
-
文档上传
-
账号管理
四、项目架构
1、网站开发模式
前后端部分分离的开发模式
2、前端技术
html + css + js + jquery(ajax)
3、后端技术
Django2.1 + Django restframework + mysql + redis + celery(可能会拓展) + elaticsearch + nginx + uwsgi
技术点 | 说明 |
---|---|
Mysql | 双机热备、读写分离 |
redis | session缓存、图片验证码、短信验证码 |
elaticsearch | 站内搜索 |
celery | 异步发送短信 |