Django讲课笔记02:Django环境搭建

Posted howard2005

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django讲课笔记02:Django环境搭建相关的知识,希望对你有一定的参考价值。

零、本讲学习目标

  1. 了解Web框架
  2. 了解WSGI及两级结构和三级结构
  3. 了解反向代理的好处
  4. 熟练安装和配置Python
  5. 熟练安装和配置Django
  6. 熟练安装和配置PyCharm

一、课程导入

(一)BSD、MVC、MVT

  • BSD(Software Distribution,伯克利软件套件)许可证是随着加州大学伯克利分校发布BSD UNIX发展起来的,修改版本被Apple、Apache所采用。
  • MVC模式(Model–View–Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。MVC 以一种插件式的、松耦合的方式连接在一起。
  • MVT模式,即模型(Model),视图(View)和模板(Template)。Django采用MVT软件设计模式。

(二)Django特点

  1. 对象关系映射
  2. URL设计
  3. 模板系统
  4. 表单处理
  5. Cache系统
  6. Auth认证系统
  7. 国际化
  8. Admin后台系统

二、新课讲授

(一)相关概念

1、Web框架

  • Web框架(Web Framework)或者叫做Web应用框架(Web Application Framework),是用于Web开发的一套软件架构。大多数Web框架提供了一套开发和部署网站的方式,为Web的行为提供了一套支持的方法。使用Web框架,很多业务逻辑外的功能不需要自己再去处理,使用框架就可以实现。
  • Web框架在进行Web应用开发的时候,减少了工作量。Web框架主要用于动态网站开发。动态网站主要是指可以实现数据交互和业务功能的网站。
  • DJango正是基于Python语言的Web开发框架。

2、WSGI

  • Python Web Server Gateway Interface,即Python Web服务器网关接口,实际上就是一种协议,我们的应用(Django、Flask)实现了WSGI,就可以配合实现了WSGI(uWSGI、gunicorn)的服务器工作了。
  • 结构图:

3、两级结构

  • 在这种结构里,uWSGI作为服务器,它用到了HTTP协议以及wsgi协议,Django或Flask应用作为application,实现了wsgi协议。当有客户端发来请求,uWSGI接受请求,调用Django或Flask App得到响应,之后响应给客户端。
  • 通常来说,Django或Flask等Web框架会自己附带一个WSGI服务器(这就是Django或Flask应用可以直接启动的原因),但是这只是在开发阶段用到的,在生产环境是不够用的,所以用到了uWSGI这个性能高的wsgi服务器。

4、三级结构

  • 在这种结构里,uWSGI作为中间件,它用到了uwsgi协议(与nginx通信),wsgi协议(调用Django或Flask App)。当有客户端发来请求,nginx先做处理(静态资源是nginx的强项),无法处理的请求(uWSGI),最后的响应也是nginx回复给客户端的。

5、反向代理的好处

  • 提高Web Server性能(uWSGI处理静态资源不如nginx;nginx会在收到一个完整的http请求后再转发给uWSGI)
  • nginx可以做负载均衡(前提是有多个服务器)
  • 保护了实际的Web服务器(客户端是与nginx而不是与uWSGI交互)

(二)环境搭建

1、安装Python

变量名描述
PYTHONPATHPYTHONPATH是Python搜索路径,默认我们import的模块都会从PYTHONPATH里面寻找。
PYTHONSTARTUPPython启动后,先寻找PYTHONSTARTUP环境变量,然后执行此变量指定的文件中的代码。
PYTHONCASEOK加入PYTHONCASEOK的环境变量,就会使Python导入模块的时候不区分大小写.
PYTHONHOME另一种模块搜索路径。它通常内嵌于PYTHONSTARTUP或PYTHONPATH目录中,使得两个模块库更容易切换。

2、安装Django

(1)在线安装方式

  • 使用pip命令行:pip install django

  • 成功安装了django-3.2.6
  • 升级pip到最近版本

  • 验证django是否安装成功

(2)离线安装方式

  • 下载whl进行本地安装(适用于在线安装失败的情况)

  • 下载地址(https://www.lfd.uci.edu/~gohlke/pythonlibs/#django

  • 内容很多,使用Ctrl + F进行查找

  • 复制Django-3.2.6-py3-none-any.whl到任意位置(最好不要在有空格和中文的路径下),比如D:\\django下

  • 执行安装命令:pip install D:\\django\\Django-3.2.6-py3-none-any.whl

  • 前面已经在线安装了django-3.2.6,此处就不用再离线安装了

3、安装PyCharm

三、课堂小结

  1. 了解Web框架
  2. 理解WSGI以及两级结构和三级结构
  3. 了解反向代理的作用
  4. 熟悉安装Python、Django和PyCharm

四、课后作业

  • 在自己电脑上安装以下软件并做好相应配置
  1. Python3.6+
  2. Django3.2.6
  3. PyCharm2020+

五、拓展内容

以上是关于Django讲课笔记02:Django环境搭建的主要内容,如果未能解决你的问题,请参考以下文章

Django讲课笔记01:Django简介

Django讲课笔记04:Django项目的调试

Django讲课笔记07:设置路由分发规则

Django讲课笔记08:定义商城的数据模型

Django讲课笔记11:视图函数的请求和响应

Django讲课笔记05:需求分析与系统设计