选择一种语言和框架,因为你在上一个项目中使用了它或者因为你更熟悉它,但是这不是正确的方法。

项目启动

在开始一个新的软件项目之前,您需要评估哪种语言和框架最适合您所期望的结果。什么对你最重要?安全性、快速开发、可伸缩性、多功能性、支持还是其它?

经过多年使用不同技术(包括移动和web开发)的经验,我相信 django 提供了其他web框架无法提供的完整特性。

这是一个很大的要求。

Django 为许多最常用的Web站点提供支持,比如 InstagramPinterest,甚至 Facebook 也使用 Django 作为后台工具。Django 来自出版行业,所以《华盛顿邮报》和《史密森尼杂志》使用 Django 也就不足为奇了。-- Amit Ashwini,营销副总裁@ Zibtek

何时使用 django

  • 需要开发一个web应用程序或API后端。
  • 需要快速迁移、快速开发,并在前进的同时进行更改。
  • 需要集成相关安全防范,例如 csrfsql注入xss ...
  • 将来可能需要高阶技术,例如 机器学习
  • 需要一个可靠的框架,并且有着良性的发展
  • 需要应用程序和API后台在同一个代码库中,以符合单一来源真理 (又名 DRY
  • 需要 orm 支持
  • 需要遇到一些问题,如何找到解决方案,例如有着良好的文档及社区支持

除了以上几点,你自己(或你的团队)的技能也应该在考虑在内。

如果是一个了解 web如何工作 的 web 开发人员,那么使用 django 是相对无缝的,你可能只需要了解下 django 的结构(当然也有一些其它的东西)即可。

何时不使用 django

  • 应用程序规模非常庞大,不能把所有东西放在一个代码库中。
    可能想把你的应用拆分成微服务。每一层可以由专门的团队和流程更好地处理。最好每个用例使用不同的技术。django 可能再某些特定的用例中会有所帮助。但使用 django 开发所有东西可能并不明智。
  • 构建一个非常基础的应用程序,它不需要数据库、文件操作或者比较复杂的操作。
    微框架更适合这些用例。Flask 是用 python 编写的最流行的微框架之一。类似的微框架在其他技术中也可用。
  • 希望一切从零开始,知道自己在做什么
  • 自己或者团队根本不熟悉 django,没有足够的时间和资源来获取所需要的技能
    这种情况下,最好的解决方案是使用最熟悉的方法。如果采用一项新技术或新框架,把事情搞砸的可能性会成倍增加。

如果以上内容不适用于您的项目,那么 django 可能适合你。

何时使用 django 以及何时不用?的更多相关文章

  1. Django开启https(不用nginx)

    首先安装需要用到的包 pip install django-extensions pip install django-werkzeug-debugger-runserver pip install ...

  2. Django admin定制化,User字段扩展[原创]

    前言 参考上篇博文,我们利用了OneToOneField的方式使用了django自带的user,http://www.cnblogs.com/caseast/p/5909248.html , 但这么用 ...

  3. web框架django初探

    Web框架介绍 一般会分为两部分:服务器程序和应用程序.服务器程序负责对socket服务器进行封装,并在请求到来时,对请求的各种数据进行整理.应用程序则负责具体的逻辑处理.为了方便应用程序的开发,就出 ...

  4. Python之路【第十六篇】Django基础

    Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. ...

  5. 1.django笔记之django基础

    一.django简介 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型M,视图V和控制器C.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内 ...

  6. 文成小盆友python-num17 - django基础

    一.首先了解web应用的本质 对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 下面利用socket实现一个简单的web框架: #!/usr/b ...

  7. 在sae配置django项目

    1:使用sae开发必须有sae帐号,自己注册吧: 2:在sae上新建立一个python项目: 3:建立完成之后新建一个版本,即版本1: 4:获取svn的地址在eclipse中check下来: 5:注意 ...

  8. 全面解读Python Web开发框架Django

    全面解读Python Web开发框架Django Django是一个开源的Web应用框架,由Python写成.采用MVC的软件设计模式,主要目标是使得开发复杂的.数据库驱动的网站变得简单.Django ...

  9. 直接用nose进行django项目测试并输出html报告

    先说需求:1.测试django项目:2.打印测试报告(html格式)有以下几种测试方法:1.django自带的测试模块.在app目录下的tests.py文件中写测试类,类似这样: class MyTe ...

随机推荐

  1. DotnetSpider爬虫简单示例 net core

    文章地址 https://blog.csdn.net/sD7O95O/article/details/78097556 安装爬虫框架  NUGET 安装DotnetSpider 创建HTTP协议数据包 ...

  2. 同级frame之间的通信与跳转

    项目最近需求两个同级的frame,通过点击一个frame里面的btn按钮来实现另一个frame的跳转(注意这俩个frame在同一个frameset下面): 原理:通过该frame找到父frameset ...

  3. VS开发C++控制台应用程序(示例)

    注:笔者使用的VS版本为2019.1.打开VS2019,选择文件 -> 新建 -> 项目 2.选择项目新建项目时选择C++“控制台应用”语言:C++平台:Windows项目类型:控制台 3 ...

  4. Options of the DB storage of prometheus

    参考: // Options of the DB storage. type Options struct { // The timestamp range of head blocks after ...

  5. Spring Security 解析(六) —— 基于JWT的单点登陆(SSO)开发及原理解析

    Spring Security 解析(六) -- 基于JWT的单点登陆(SSO)开发及原理解析   在学习Spring Cloud 时,遇到了授权服务oauth 相关内容时,总是一知半解,因此决定先把 ...

  6. Springboot 基于的SAP项目环境配置

    做SAP开发,感觉最难的莫过于前期的环境了,也就是说让程序能跑起来.. 最重要的有三个文件(较新版本,jco lib版本721.800) 下载libsapjco3.so.sapjco3.dll.sap ...

  7. 使用DES算法实现加密解密

    使用DES算法实现加密解密 我们常见的加密算法有DES.MD5.IDEA.AES等等,这篇随笔介绍使用DES算法实现加密解密 首先介绍一下DES算法: DES算法为密码体制中的对称密码体制,又被称为美 ...

  8. 商业BISYNES英语BISYNES商务

    business from English bisynes Etymology From Middle English bisynes Hyphenation: business Noun busin ...

  9. Python 集合(Set)、字典(Dictionary)

    集合(Set) 集合是无序的,无序也就没有索引,不能进行索引相关的操作.无序,python解释器就不能通过索引(位置)区分集合中的相同元素,所以集合中不能有相同的元素. 集合用大括号{  }表示. 集 ...

  10. 浏览器渲染html的过程

    关于浏览器如何渲染html界面一直不太清晰,所以现在理一理.由于本身对前深入的东西不太清晰,这篇博客更多的是在记录. 参考:https://www.cnblogs.com/dojo-lzz/p/398 ...