django的安装 django环境搭建



文章插图
django的安装 django环境搭建

文章插图
【django的安装 django环境搭建】安装Django
Django 框架是用Python语言开发的,所以安装Django 就像安装其他的 Python库一样,执行如下命令即可
> pip install django你可以执行如下命令检查Django是否安装好,并且查看安装的Django版本
> python -m django --version如果像上面那样显示出一个版本数字(比如这里就是2.1.3) 表示已经安装好了 。
创建项目
安装好以后,我们需要创建我们 的 项目目录,项目目录里面保存了开发系统的所有文件 。
我们可以创建 d:projects 作为我们的项目所在的目录 。
然后从命令行窗口中 进入到 d:projects 目录,执行下面的命令创建项目目录
django-admin startproject Demo
注意最后的 Demo 就是项目的根目录名,执行上面命令后,就会创建 如下的目录结构:
Demo/
manage.py
Demo/
__init__.py
settings.py
urls.py
wsgi.py
最外层 Demo/ 就是项目根目录 d:projectsDemo ,项目文件都放在里面 。
manage.py 是一个工具脚本,用作项目管理的 。以后我们会使用它执行管理操作 。
里面的 Demo/ 目录是python包 。里面包含项目的重要配置文件 。这个目录名字不能随便改,因为manage.py 要用到它 。
Demo/settings.py 是 Django 项目的配置文件. 包含了非常重要的配置项,以后我们可能需要修改里面的配置 。
Demo/urls.py 里面存放了 一张表,声明了前端发过来的各种http请求,分别由哪些函数处理. 这个我们后面会重点地讲 。
Demo/wsgi.py 要了解这个文件的作用,我们必须明白wsgi 是什么意思
python 组织制定了 web 服务网关接口(Web Server Gateway Interface) 规范 ,简称wsgi 。参考文档:https://www.python.org/dev/peps/pep-3333/
遵循wsgi规范的 web后端系统,我们可以理解为 由两个部分组成
wsgi web server 和 wsgi web application
它们通常是运行在一个python进程中的两个模块,或者说两个子系统 。
wsgi web server 接受到前端的http请求后,会调用 wsgi web application 的接口( 比如函数或者类方法)方法,由wsgi web application 具体处理该请求 。然后再把处理结果返回给 wsgi web server,wsgi web server再返回给前端 。
如下图所示
为什么要搞出两个子系统,这么麻烦呢?
因为这两个子系统有各自负责的重点 。
wsgi web server 负责 提供高效的http请求处理环境,可以使用多线程、多进程或者协程的机制 。
http 请求发送到 wsgi web server ,wsgi web server 分配 线程或者进程或者 轻量级线程(协程),然后在 这些 线程、进程、或者协程里面,去调用执行 wsgi web application 的入口代码 。
wsgi web application 被调用后,负责 处理 业务逻辑 。业务逻辑的处理可能非常复杂,wsgi web application 需要精心的设计来正确处理 。
django是 wsgi web application 的框架,它只有一个简单的单线程 wsgi web server 。供调试时使用 。
产品正式上线运行的时候,通常我们需要高效的 wsgi web server 产品,比如 gunicorn,uwsgi,cherrypy等,结合Django ,组成一个高效的 后端服务 。
所以这个 wsgi.py 就是 提供给wsgi web server调用 的接口文件,里面的变量application对应对象实现了 wsgi入口,供wsgi web server调用。
2021年10月18日补充
上面的方式创建的项目,项目配置目录和项目本身目录同名 。
可以这样创建目录,结构更合理一些:
# 执行命令创建项目目录,并且进入到项目目录
mkdir Demo&& cd Demo# 然后执行命令 创建manage.py 和 项目配置目录 名为 config
django-admin startproject config .运行 Django web服务
刚才我们说了,django虽然只是 wsgi web application 的框架,但是它也有一个简单的 wsgi web server。供调试时使用 。
所以也构成一个完整的后端web服务 。本地调试代码的时候,完全可以运行起来 。
运行开发web 服务只需要在命令行窗口里面,
首先进入到项目根目录 ,比如,我们这里就是 d:projectsDemo
然后执行如下命令
python manage.py runserver 0.0.0.0:80这样服务就会被启动 。我们就可以在浏览器访问web服务了 。
其中 0.0.0.0:80 是指定 web服务绑定的 IP 地址和端口 。
0.0.0.0 表示绑定本机所有的IP地址,就是可以通过任何一个本机的IP (包括回环地址 127.0.0.1 ) 都可以访问我们的服务 。
80 表示是服务启动在80端口上 。
请打开浏览器,地址栏输入 ‘127.0.0.1’ ,就可以看到如下的界面,表示Django服务搭建成功,启动成功 。
注意,启动web服务的命令行窗口不能关闭,如果关闭,web服务就停止了 。