一、什么是django

Django是用Python写的一个自由和开放源码的web应用程序框架。web框架是一套组件,能帮助开发者更快、更容易地开发web站点。当你开始构建一个web站点时,你总需要一些相似的组件:处理用户认证(注册、登录、登出)的方式、一个管理站点的面板、表单、上传文件的方式,等等。 这些django都已经帮你做好了。

二、Django概述的概述

  1. Django的主要目的是简便、快速的开发数据库驱动的网站;
  2. Django强调代码复用和快速开发,具有很强的可扩展性;
  3. Django有许多功能强大的第三方插件,多个组件可以很方便的以"插件"形式服务于整个框架;
  4. Django MVT模式:Model,View,Template (Django的 MVT 与通常Web开发中的 MVC 没有本质区别)
  5. 重量级框架,Django原生提供了众多的功能组件,让开发更简便快速:

数据库ORM支持、模板、表单、认证权限、Admin管理站点、session机制、缓存。

三、Django开发企业级问答网站项目

从实际需求分析开始,实现当今主流知识问答应用的功能,包括动态、文章、问答、私信、消息通知、搜索、个人中心,打造企业级知识问答网站,由此全面学习Python后端开发技术栈,内容涵盖Python、Django生态、通用类视图的源码、DFS/BFS/C3线性化算法、组合模式与观察者模式、TestCase测试用例、MySQL数据库、Redis缓存、WebSocket实时推送、Haystack+Elasticsearch搜索、应用部署和运维、云计算服务。从零开发到阿里云上线,讲解企业项目开发的全过程。

  • Django高级应用实践

使用cookiecutter-django搭建项目工程模板。通用类视图(CBGV)编程,更精简的代码,更高的开发效率。Django生态,不局限于框架,探索项目开发最佳实践。

  • 数据库设计&网站优化

MySQL数据库设计,安全和权限管理,SQL优化。Redis缓存的使用。网站优化:Celery邮件任务队列,django-compressor压缩静态文件css/js。

  • TestCase测试用例,保证代码质量

每个功能模块都有测试用例编写,讲解两种不同测试思路。Test Client模拟wsgi server发送HTTP Request;RequestFactory类模拟Request直接测试视图。

  • 算法+设计模式融合项目,理解更透彻

Python多继承中的MRO算法,经典类的DFS算法,新式类的BFS和C3线性化算法,通用类视图源码中Mixin组合模式,Signal机制的观察者模式。

  • WebSocket消息推送,难点精讲

循序渐进讲解:原理>功能设计>前后端技术实现部署。将Channels集成到Django项目中,实现后端消息的实时推送。上线时通过Nginx+Daphne+uWSGI+Django部署Django Channels应用。

  • 对接云计算服务,结合潮流技术

讲解两种阿里云产品的使用:云服务器ECS (Elastic Compute Service);阿里云关系型数据库RDS(Relational Database Service)。

四、总结

Django是一个基于Python的Web应用框架。它与Python的另外一个Web 框架 Flask最大的区别是,它奉行 “包含一切” 的哲学。该理念即为:创建 Web 应用所需的通用功能都应该包含到框架中,而不应存在于独立的软件包中。例如,身份验证、 URL 路由、 模板系统、 对象关系映射 (ORM) 和 数据库迁移等功能都已包含在Django 框架中。虽然看上去失去了一些弹性,但是却可以让你在构建网站的时候更加有效率。

Django高级实战开发企业级问答论坛项目,关于Django核心技术的实战项目就是这样了,欢迎联系笔者获取学习。