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