django项目前期准备
本文转载自 https://blog.csdn.net/xiaogeldx/article/details/89037748
Django现状
Django开发前景
Django的厉害之处
- 在Python中,与web开发环境相关的包有13045个
- django就占了9091个,大约70%
- 在Python中,活跃的web框架多达54个,其中最活跃的有django,flask,pyramid,zope
- 最受欢迎的就是django,没有之一
超过5263个中大型网站使用django开发
哪些公司在使用django
- 国内:豆瓣、知乎
国外:Instagram、Mozilla、Pinterest、Disqus、National Geographic、NASA
版本

- 1.11(217年4月发布,支持python2.7,在2020全面推行Python3之后,将不再提供服务)
- 2.0-2.1(2.0版本,2017年12月发布,只支持Python3,将长期支持,向下兼容)
- 2.0主要在以下方面作了改进
- 简化url路由语法
- 更友好的admin站点
- auth支持更高强度的加密算法(PBKDF2)(PBKDF2简单而言就是将salted hash进行多次重复计算,这个次数是可选择的)
- runserver支持HTTP1.1
19.4.1发布了2.2的版本
开发流程
- 本项目我们会尽量模拟真实web开发场景来讲解项目,在大家工作之后能立刻融入到开发团队中
开发流程图如下图所示

需求分析
网站类型
本项目主要完成一个个人新闻博客类网站,用于知识分享,交友互动等
主页模块
- 轮播图
- 热门文章推荐
- 文章标签、文章列表(可滚动加载更多)
- 左侧广告展示
个人联系方式
用户模块
- 注册
- 短信验证码(云通信平台)
- 图片验证码
- 登录
- 用户名和手机号登录
个人中心页
在线视频模块
实现在线播放视频功能等
文件下载模块
实现相关资源共享,如课件笔记等
搜索模块
使用流行的elasticsearch搜索引擎框架,实现网站资源快速搜索定位功能
后台管理模块
- 文章标签管理
- 文章发布
- 文章管理
- 热门文章管理
- 主页轮播图管理
- 课程发布
- 文档管理
- 用户组管理
用户管理
项目架构
网站开发模式
前后端部分分离的开发模式
前端技术
html + css + js + jquery(ajax)
后端技术
django2.1 + mysql + redis + elasticsrarch + nginx + uwsgid
django项目前期准备的更多相关文章
- python django项目创建及前期准备(使用pycharm)
一.创建django项目 1.打开pycharm软件 2.点击菜单栏 File-->New Project,弹出如下对话框,如下图设置 二.基本配置 1.静态文件目录配置(用于客户端访问后台服务 ...
- 阿里云 Centos7 部署 Django 项目
前期准备 阿里云服务器 mysql数据库 已经本地运行成功的项目 阿里云服务器的环境配置 Git #代码管理 Gitlab #代码托管,要求服务器内存不低于2G,我选择放弃 Mysql #连接数据库 ...
- centos7 apache httpd安装和配置django项目
一.安装httpd服务 apache在centos7中是Apache HTTP server.如下对httpd的解释就是Apache HTTP Server.所以想安装apache其实是要安装http ...
- 终端指令操作创建Django项目
需求:通过Django创建一个用户表和权限表. 用户表包括:用户名,邮箱,密码,管理权限. 权限表包括:普通用户,管理用户,超级用户. 权限表和用户表有一对多的关系,即用户表中的每条数据对应权限表中的 ...
- mac osx 上面部署Django项目 apache+mysql+mod_wsgi
1.安装Xcode command line tools 首先,编译mysql和Homebrew需要用到Xcode command line tools,所以首先安装command line tool ...
- Apache部署django项目
在此之前,我们一直使用django的manage.py 的runserver 命令来运行django应用,但这只是我们的开发环境,当项目真正部署上线的时候这做就不可行了,必须将我们的项目部署到特定的w ...
- python——创建django项目全攻略(野生程序员到家养程序员的完美进化)
新建工程 我用pycharm写代码,所以一般就用pycharm创建django工程.右上角File-New Project.选择路径,修改项目名称,确定.就可以创建一个新的django工程. ...
- Pychram如何导入Django项目
最近在学Django,用GitHub来保存项目.但当从GitHub中clone出来后,Pycharm怎么来运行项目呢? 首先要对项目进行设置,使其能支持Django,具体设置如下: 在Pycharm中 ...
- 使用uWSGI部署django项目
先说说什么是uWSGI吧,他是实现了WSGI协议.uwsgi.http等协议的一个web服务器,那什么是WSGI呢? WSGI是一种Web服务器网关接口.它是一个Web服务器(如nginx)与应用服务 ...
随机推荐
- 3-2 Hadoop集群伪分布模式配置部署
Hadoop伪分布模式配置部署 一.实验介绍 1.1 实验内容 hadoop配置文件介绍及修改 hdfs格式化 启动hadoop进程,验证安装 1.2 实验知识点 hadoop核心配置文件 文件系统的 ...
- nova boot from volume代码分析
首先要创建一个bootable volume curl -i http://16.158.166.197:8776/v1/c24c59846a7f44538d958e7548cc74a3/volume ...
- Spring Boot 实现 RabbitMQ 延迟消费和延迟重试队列
本文主要摘录自:详细介绍Spring Boot + RabbitMQ实现延迟队列 并增加了自己的一些理解,记录下来,以便日后查阅. 项目源码: spring-boot-rabbitmq-delay-q ...
- VUE插件大总结
UI组件 element - 饿了么出品的Vue2的web UI工具套件 Vux - 基于Vue和WeUI的组件库 mint-ui - Vue 2的移动UI元素 iview - 基于 Vuejs 的开 ...
- 在React Native中,使用fetch网络请求 实现get 和 post
//在React Native中,使用fetch实现网络请求 /* fetch 是一个封装程度更高的网络API, 使用了Promise * Promise 是异步编程的一种解决方案 * Promise ...
- zepto与jquery冲突的解决
一般是不会把zepto和jquery一起来用的.但有时候要引入一些插件,可能就会遇到这样的问题. jquery noConflict() jquery有一个方法叫noConflict() ,可以把jq ...
- Array.find()和Array.findIndex()
ES6新增的两个方法,根据回调函数返回作为判断依据,按照数组顺序进行遍历,符合条件(为真)时find()返回该值.findIndex()返回下标. 1.语法 arr.find(callback[, t ...
- [Swift]LeetCode828. 独特字符串 | Unique Letter String
A character is unique in string S if it occurs exactly once in it. For example, in string S = " ...
- Python档案袋(线程 )
Python的进程和线程是使用的操作系统的原生线程和进程,其是去调用操作系统的相应接口实现 进程:之间不可直接共享数据,是资源的集合,进程必须有一个线程 线程:基于进程,之间可直接共享数据,可执行,只 ...
- 推荐一款接口 API 设计神器!
今天栈长给大家推荐一款接口 API 设计神器,传说中的,牛逼哄洪的 Swagger,它到底是什么?今天为大家揭开谜底! Swagger是什么? 官网:https://swagger.io/ Swagg ...