django基础到高手知识笔记总结,50页笔记,共10大模块(第一期).md

完整笔记在这:

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

    • python manager.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学习资料

为什么要搭建虚拟环境?

  • 在开发过程中, 当需要使用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 虚拟环境名称
      

      例 :
      mkvirtualenv py_django

    • 在python3中,创建虚拟环境

      mkvirtualenv -p 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

django基础到高手知识笔记总结,50页笔记,共10大模块(第一期).md相关推荐

  1. UE4课堂笔记——《UE4C++游戏开发入门教程!》第一期开场,C++必须了解小知识

    <UE4C++游戏开发入门教程!>第一期 UE4C++游戏开发入门教程!(第一期) 学习ue4 c++可以更好理解ue4,但需要已经了解或掌握至少以下两点: 已有编程经验 了解蓝图 所以可 ...

  2. 【互联网营销基础知识】新媒体运营人员须知的10大素材网站(一)

    做新媒体会有大量的时间是制作文章和短视频,而文章短视频制作过程中需要用到大量的图片.音乐.音频等素材.这里总结了当前比较好用的10大素材网站,相信能对大家有一定的帮助. 1.爱给网 爱给网有海量的音效 ...

  3. pmbook 知识领域 第六版_PMP项目管理10大知识领域脑图

    问:PMBOK提到的十大知识领域是什么? 答:目前考试使用的是PMBOK(第六版),所以本文为大家介绍的是PMBOK第六版的十大知识领域:整合管理.范围管理.进度管理.成本管理.质量管理.资源管理.沟 ...

  4. 最新Smarty基础商品教程 Smarty入门教程 Smarty框架教程 共10课

    Smarty为PHP MVC必不可少的,在Mvc中担任View视图的角色,学习了Smarty 在学习Thinkphp就简单很多了! -------------课程目录------------- 1-回 ...

  5. J2EE学习笔记三:EJB基础概念和知识 收藏

    J2EE学习笔记三:EJB基础概念和知识 收藏 EJB正是J2EE的旗舰技术,因此俺直接跳到这一章来了,前面的几章都是讲Servlet和JSP以及JDBC的,俺都懂一些.那么EJB和通常我们所说的Ja ...

  6. Java基础知识强化之集合框架笔记76:ConcurrentHashMap之 ConcurrentHashMap简介

    1. ConcurrentHashMap简介: ConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和Hashtable功能相同但是线程安全的方法.Conc ...

  7. java不死神兔总数_Java基础知识强化之IO流笔记13:递归之不死神兔问题(斐波那契数列)...

    1.这个问题是如下的: 有一对兔子,从出生后第3个月起,每个月都生一对兔子,小兔子长到第3个月又生一对兔子,加入兔子都不死,问第20个月兔子的对数? 分析:我们找规律 兔子对数 第1个月:   1 第 ...

  8. 大学计算机基础知识手写笔记,清华学霸手写笔记火了,如同“电脑打印版”,学渣快来“瞻仰”...

    学霸作为一群"神秘人",他们大多身影忙碌,行色匆匆,而且不为人知.是我们这些普通学生难以"望其项背"的存在.不过,也有很多人不服气:不就是学习好的学生吗?难道还 ...

  9. 物联网基础知识——《物联网概论》笔记(1)

    这学期选了物联网课,借了<物联网导论>,这周粗略的通读一遍,顺便做个笔记.☺ 笔记链接: https://www.notion.so/3-7849f40e87e74e56b7fa47fd4 ...

最新文章

  1. nfs client高性能参数设置
  2. Safari浏览器的智能跟踪预防工作原理
  3. 在.Net如何制作自定义的快捷方式(转)
  4. Document API
  5. MYSQL-创建存储过程
  6. 第三届全国高校“数据科学与大数据技术”教学研讨会
  7. jquery-pager的使用
  8. 一文教会你使用Markdown来制作一份简洁明了的求职简历
  9. shell sort 最后一列排序_Shell 编程 排序工具 sort 和 uniq
  10. Java常用算法-二分查找算法(两种方法实现)
  11. WPS Office 免费版和专业增强版区别是什么
  12. HexCompare比较任意Bin/Hex/Srec/s19/elf文件
  13. 产业数字化转型升级案例:联合利华数字化供应链管理
  14. XR806与鸿蒙,简化构建环境流程
  15. XGboost和GBDT的异同
  16. jQuery菜鸟教程02
  17. Matlab中Savitzky-Golay filtering(最小二乘平滑滤波)函数sgolayfilt的使用方法
  18. 极客日报:《英雄联盟》回应服务器崩了:官方直接回退了旧版本;Deno 1.19 发布|极客头条
  19. 看房子软件测试初学者,新人必看,测试大佬私藏的入门性能测试五步走,果断收藏!...
  20. 7-32 哥尼斯堡的“七桥问题”(25 分)

热门文章

  1. 芒果数据库 四天学习笔记分享
  2. scau 8638 直接插入排序
  3. iOS开发--in house发布和安装(ipa重新签名)
  4. Java ScriptEngine 解析js
  5. javaSE-实用类
  6. 互信息的深度理解(总结的不错值得一看)
  7. ValueError: Optimizer weight shape (1000,) not compatible with provided weig
  8. 远程监控电脑屏幕用什么软件?
  9. 想自主创业做外包,找甲方公司
  10. 网球初学者网球拍的推荐