django基础到高手知识笔记总结,50页笔记,共10大模块(第一期).md
完整笔记在这:
https://zhuanlan.zhihu.com/p/575078936
Django基础到高手完整笔记
完整笔记目录:
第一期笔记内容
Python Web 框架要点
1\. Web应用程序处理流程
2\. Web程序框架的意义
- 用于搭建Web应用程序
- 免去不同Web应用相同代码部分的重复编写,只需关心Web应用核心的业务逻辑实现
3\. Web应用程序的本质
- 接收并解析HTTP请求,获取具体的请求信息
- 处理本次HTTP请求,即完成本次请求的业务逻辑处理
- 构造并返回处理结果----HTTP响应
4\. Web框架学习方法
- 如何搭建工程程序
- 工程的组建
- 工程的配置
- 路由定义
- 视图函数定义
- 如何获取请求数据(操作request对象)
- 如何构造响应数据(构造response对象)
- 框架提供的其他功能组件的使用
- 数据库
- 模板
- admin
Django流程
重点
- MVT 流程:掌握M,V,T的每个模块的功能,了解MVT的流程
- 创 建Django项目和应用
- django-admin startproject name
- pythonmanager.py startapp name
- 视 图和ULR
- 视图的请求和响应
- URL的匹配路径
Django介绍
1\. 简介
Django, 发 音为[`dʒaeŋɡəʊ],是用python语言写的开源web开发框架,并遵循MVC设计。劳伦斯出版集团为了开发以新闻内容为主的网站,而开发出来了这个框架,于2005年7月在BSD许可证下发布。这个名称来源于比利时的爵士音乐家DjangoReinhardt,他是一个吉普赛人,主要以演奏吉它为主,还演奏过小提琴等。 由 于Django在近年来的迅速发展,应用越来越广泛,被著名IT开发杂志SDTimes评选为2013SDTimes100,位列"API、库和框架"分类第6位,被认为是该领域的佼佼者。
Django的 **主 要目的是简便、快速的开发数据库驱动的网站。**它强调代码复用,多个组件可以很方便的以"插件"形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(DoNotRepeatYourself)原则。
2\. 特点
1) 重量级框架
对比Flask框架,Django原生提供了众多的功能组件,让开发更简便快速。
- 提供项目工程管理的自动化脚本工具
- 数据库ORM支持(对象关系映射,英语:Object Relational Mapping)
- 模板
- 表单
- Admin管理站点
- 文件管理
- 认证权限
- session机制
- 缓存
2)MVT模式
有一种程序设计模式叫 MVC ,其核心思想是 分 工、解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性,实现向后兼容。
MVC的全拼为 Model-View-Controller ,最早由TrygveReenskaug在1978年提出,是施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件设计模式,是为了将传统的输入(input)、处理(processing)、输出(output)任务运用到图形化用户交互模型中而设计的。随着标准输入输出设备的出现,开发人员只需要将精力集中在业务逻辑的分析与实现上。后来被推荐为Oracle旗下Sun公司Java EE平台的设计模式,并且受到越来越多的使用ColdFusion和PHP的开发者的欢迎。现在虽然不再使用原来的分工方式,但是这种分工的思想被沿用下来,广泛应用于软件工程中,是一种典型并且应用广泛的软件架构模式。后来,MVC的思想被应用在了Web开发方面,被称为Web MVC框架。
MVC模式说明
- M全拼为Model,主要封装对数据库层的访问,对数据库中的数据进行增、删、改、查操作。
- V全拼为View,用于封装结果,生成页面展示的html内容。
- C全拼为Controller,用于接收请求,处理业务逻辑,与Model和View交互,返回结果。
Django的MVT
- M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。
- V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。
- T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。
注 :差异就在于黑线黑箭头标识出来的部分
3\. Django学习资料
- 官方网站
- Github源码
- Django Book 教程
- Tange With Django 教程
为什么要搭建虚拟环境?
- 在开发过程中, 当需要使用python的某些工具包/框架时需要联网安装
- 比如联网安装Django框架django的1.11.11版本
sudo pip install django
- 提 示:使用如上命令, 会将Django安装到/usr/local/lib/python3.8/dist-packages路径下
- 问 题:如果在一台电脑上, 想开发多个不同的项目, 需要用到同一个包的不同版本, 如果使用上面的命令, 在同一个目录下安装或者更新, 新版本会覆盖以前的版本, 其它的项目就无法运行了.
- 解 决方案:虚拟环境
- 作 用:虚拟环境可以搭建独立的python运行环境, 使得单个项目的运行环境与其它项目互不影响.
- 所有的虚拟环境都位于/home/下的隐藏目录.virtualenvs下
如何搭建虚拟环境?
- 安装虚拟环境的命令 :
sudo pip install virtualenv sudo pip install virtualenvwrapper
安装完虚拟环境后,如果提示找不到mkvirtualenv命令,须配置环境变量:
# 1、创建目录用来存放虚拟环境mkdir
$HOME/.virtualenvs
# 2、打开~/.bashrc文件,并添加如下:
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
# 3、运行
source ~/.bashrc
- 创建虚拟环境的命令 :
- 提示:如果不指定python版本,默认安装的是python2的虚拟环境
- 在python2中,创建虚拟环境
例 : mkvirtualenv py_django
- 在python3中,创建虚拟环境
例 : mkvirtualenv -p python3 py3_django
- 提示 :
- 创建虚拟环境需要联网
- 创建成功后, 会自动工作在这个虚拟环境上
- 工作在虚拟环境上, 提示符最前面会出现 "虚拟环境名称"
如何使用虚拟环境?
- 查看虚拟环境的命令 :
workon
- 使用虚拟环境的命令 :
workon 虚拟环境名称
例 :使用py3_django的虚拟环境 workon py3_django
- 退出虚拟环境的命令 :
deactivate
- 删除虚拟环境的命令 :
rmvirtualenv 虚拟环境名称
例 :删除虚拟环境py3_django
先退出:deactivate 再删除:rmvirtualenv py3_django
如何在虚拟环境中安装工具包?
文档
- 提示 : 工具包安装的位置 :
- python2版本下:
- ~/.virtualenvs/py_flask/lib/python2.7/site-packages/
- python3版本下:
- ~/.virtualenvs/py3_flask/lib/python3.5/site-packages
- python3版本下安装django-1.11.11的包 :
pip install 包名称
例 : 安装django的包 pip install django==版本
- 查看虚拟环境中安装的包 :
pip list
本期结束语
学习是一件非常有意思的事情,世上再没有比成长更让人身心愉快的事情了。
大家可以跟着练习
让我们期待下一期吧~
完整笔记自取
完整笔记在这:
https://zhuanlan.zhihu.com/p/575078936