本文转载自 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项目前期准备的更多相关文章

  1. python django项目创建及前期准备(使用pycharm)

    一.创建django项目 1.打开pycharm软件 2.点击菜单栏 File-->New Project,弹出如下对话框,如下图设置 二.基本配置 1.静态文件目录配置(用于客户端访问后台服务 ...

  2. 阿里云 Centos7 部署 Django 项目

    前期准备 阿里云服务器 mysql数据库 已经本地运行成功的项目 阿里云服务器的环境配置 Git #代码管理 Gitlab #代码托管,要求服务器内存不低于2G,我选择放弃 Mysql #连接数据库 ...

  3. centos7 apache httpd安装和配置django项目

    一.安装httpd服务 apache在centos7中是Apache HTTP server.如下对httpd的解释就是Apache HTTP Server.所以想安装apache其实是要安装http ...

  4. 终端指令操作创建Django项目

    需求:通过Django创建一个用户表和权限表. 用户表包括:用户名,邮箱,密码,管理权限. 权限表包括:普通用户,管理用户,超级用户. 权限表和用户表有一对多的关系,即用户表中的每条数据对应权限表中的 ...

  5. mac osx 上面部署Django项目 apache+mysql+mod_wsgi

    1.安装Xcode command line tools 首先,编译mysql和Homebrew需要用到Xcode command line tools,所以首先安装command line tool ...

  6. Apache部署django项目

    在此之前,我们一直使用django的manage.py 的runserver 命令来运行django应用,但这只是我们的开发环境,当项目真正部署上线的时候这做就不可行了,必须将我们的项目部署到特定的w ...

  7. python——创建django项目全攻略(野生程序员到家养程序员的完美进化)

    新建工程 我用pycharm写代码,所以一般就用pycharm创建django工程.右上角File-New Project.选择路径,修改项目名称,确定.就可以创建一个新的django工程.     ...

  8. Pychram如何导入Django项目

    最近在学Django,用GitHub来保存项目.但当从GitHub中clone出来后,Pycharm怎么来运行项目呢? 首先要对项目进行设置,使其能支持Django,具体设置如下: 在Pycharm中 ...

  9. 使用uWSGI部署django项目

    先说说什么是uWSGI吧,他是实现了WSGI协议.uwsgi.http等协议的一个web服务器,那什么是WSGI呢? WSGI是一种Web服务器网关接口.它是一个Web服务器(如nginx)与应用服务 ...

随机推荐

  1. FTP出现PORT模式成功, 请更新你的站点配置文件

    最近用FTP连接站点,经常出现连接不上或者连接失败,提示以PASV模式连接失败,正在使用PORT模式连接,最后才能连接成功,连接时间也是相当长,又慢又不稳定.   工具/原料   FlashFXP等F ...

  2. SQL Server 恢复数据库至指定时间点

    发生数据库误删的情况下,及时恢复数据到误操作前的状态 工具/原料   SQL Server Management Studio 数据库完整备份及日志备份 必备条件   1 数据库右键属性,在选项中查看 ...

  3. LeetCode编程训练 - 位运算(Bit Manipulation)

    位运算基础 说到与(&).或(|).非(~).异或(^).位移等位运算,就得说到位运算的各种奇淫巧技,下面分运算符说明. 1. 与(&) 计算式 a&b,a.b各位中同为 1 ...

  4. leetcode-数组-子集

    一.题目描述 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. 示例: 输入: nums = [1,2,3] 输出: [ [3], [1], ...

  5. [Swift]LeetCode33. 搜索旋转排序数组 | Search in Rotated Sorted Array

    Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand. (i.e. ...

  6. [Swift]LeetCode44. 通配符匹配 | Wildcard Matching

    Given an input string (s) and a pattern (p), implement wildcard pattern matching with support for '? ...

  7. [Swift]LeetCode275. H指数 II | H-Index II

    Given an array of citations sorted in ascending order (each citation is a non-negative integer) of a ...

  8. SpringBoot Mybatis EnumTypeHandler自定义统一处理器

    需求 mybatis目前已经内嵌入了springboot中了,这说明其目前在数据访问层的绝对优势.而我们在开发的过程中,往往会在程序中使用枚举(enum) 来表示一些状态或选项,而在数据库中使用数字来 ...

  9. 设计模式的征途—4.抽象工厂(Abstract Factory)模式

    上一篇的工厂方法模式引入了工厂等级结构,解决了在原来简单工厂模式中工厂类职责太重的原则,但是由于工厂方法模式的每个工厂只生产一类产品,可能会导致系统中存在大量的工厂类,从而增加系统开销.那么,我们应该 ...

  10. Python爬虫入门教程 20-100 慕课网免费课程抓取

    写在前面 美好的一天又开始了,今天咱继续爬取IT在线教育类网站,慕课网,这个平台的数据量并不是很多,所以爬取起来还是比较简单的 准备爬取 打开我们要爬取的页面,寻找分页点和查看是否是异步加载的数据. ...