首页 > 其他分享 > 多年学习django经验markdown总结,基础到高手,共计50页,10大模块。 第(1)期

多年学习django经验markdown总结,基础到高手,共计50页,10大模块。 第(1)期

时间:2023-10-24 20:01:11浏览次数:42  
标签:10 全拼 框架 MVC 50 Django 虚拟环境 django

Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以"插件"形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(DoNotRepeatYourself)原则

完整版笔记直接地址: 请移步这里


共 4 章,47 子模块,总计 22989 字


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==1.11.11

  • 提 示:使用如上命令, 会将Django安装到/usr/local/lib/python2.7/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-1.11.11的包 pip install django==1.11.11

  • 查看虚拟环境中安装的包 :

    pip list

创建Django项目

步骤

  • 创 建Django项目

    • django-admin startproject name
  • 创 建子应用

    • python manager.py startapp name

未完待续 下一期下一章

完整笔记请看文章开头

标签:10,全拼,框架,MVC,50,Django,虚拟环境,django
From: https://blog.51cto.com/u_13578013/8009590

相关文章

  • 文心一言 VS 讯飞星火 VS chatgpt (120)-- 算法导论10.3 5题
    五、用go语言,设L是一个长度为n的双向链表,存储于长度为m的数组key、prev和next中。假设这些数组由维护双链自由表F的两个过程ALLOCATE-OBJECT和FREE-OBJECT进行管理。又假设m个元素中,恰有n个元素在链表L上,m-n个在自由表上。给定链表L和自由表F,试写出一个过程......
  • 231023校内赛
    T1区间题解很容易想到的一点是如果\(k\)足够大,那么把区间单独放到一个组里总比多个区间在一个组优对于多个区间来说,区间之间如果两两不包含的话这道题会是比较好做的就可以注意到如果一个大区间包含了一个小区间,那么大区间要么单独一组,要么和小区间同一组,这样会是比较优的......
  • ARC102
    A枚举其中一个,然后发现剩下两个的限制非常强,用一个桶统计同余类大小即可。B谔谔构造。考虑\(n=\log10^6\),大概可以猜一下这个题是想让我们搞一个二进制构造。先造一条\(0\sim2^{\logL}-1\)的链,然后再往\(N\)连即可。C基础组合题。不是很懂为啥题解里都是容斥原理,范......
  • 1024程序员节,我们来点轻松的,拼手速截图看看你是哪种type的程序员!
    “爱码士”们来拼手速!云宏君今日也是“需求加载中“,与身边的it小伙伴一起来找标签吧......
  • 10.23
    今天学习mybatis实现增删改查  ......
  • 10.24日记
    CPU 计算机硬件基本系统有五大部分组成:运算器,控制器,存储器,输入设备,输出设备。 存储器分为内部存储器(即内存,容量小,速度快,临时存放数据)和外部存储器(即硬盘,光盘等,容量大,速度慢,长期保存数据) 中央处理单元组成:由运算器,控制器,寄存器组和内部总线组成 中央处理单元功能:实现程序控制,操......
  • 10.20
    1、今天学习了数据库连接池, 2、学习lombok实现javabean的简便开发 ......
  • PAT 甲级【1011 World Cup Betting】
    importjava.io.IOException;importjava.io.InputStreamReader;importjava.io.StreamTokenizer;publicclassMain{@SuppressWarnings("unchecked")publicstaticvoidmain(String[]args)throwsIOException{StreamTokenizerin=ne......
  • 10月24日
    今天上午先上的数据结构,学习了哈夫曼树的编码然后复习了树和二叉树,二叉树和森林之间的转化,随后是哈夫曼树的其他的一些操作,随后,我们去上了马原,课上老师讲解了实践和认识的关系,其中,实践是人能动地改造世界的社会性活动,实践是认识的前提,下午我去自习室学习了数据库的增删......
  • 10.22
    今日代码:200行今日时间:4小时学习内容:今天学习了解浏览了杨子光老师推荐的h+这个资深csshtml的编写插件帮手工具H+ https://hplus_admin.gitee.io/hplus/   ......