【零基础学Python】后端开发篇 第二十一节--Python Web开发二:Django的安装和运行

简介: 【零基础学Python】后端开发篇 第二十一节--Python Web开发二:Django的安装和运行

一、安装Django
1.1 安装
Django 框架是用Python语言开发的, 所以安装Django 就像安装其他的 Python库一样,在我们的Python编译器的终端部分执行如下命令即可:

pip install django
当我们看到出现如下命令时。则代表我们已经安装成功:
在这里插入图片描述

1.2 检查
然后我们也可以你执行如下命令检查Django是否安装好, 并且查看安装的Django版本:

python -m django --version
在这里插入图片描述
如果像上面那样显示出一个版本数字(比如这里就是3.2.13) 表示已经安装好了。

二、创建项目
安装好以后, 我们需要创建我们 的 项目目录,项目目录里面保存了开发系统的所有文件。
我们可以创建C:\Users\xuyip\PycharmProjects\Dream的Django项目作为我们的项目所在的目录。
在这里插入图片描述
然后从cmd窗口中 进入到 C:\Users\xuyip\PycharmProjects\Dream的Django项目目录,执行下面的命令创建项目目录:

django-admin startproject bysms
在cmd中我们首先通过:cd命令将路径转化成我们当前的文件路径:
在这里插入图片描述
然后输入我们的命令:django-admin startproject bysms

2.1 报错
如果不会报错,那么我们非常幸运,如果会报错的话,我们还需要进行以下操作:
在这里插入图片描述
我们需要知道报错的这个exe文件,将其删除:

在这里插入图片描述
删除之后我们在通过命令:python -m pip install -U+(我们需要删除的文件名称,不加后缀)在将其安装一遍,如果还不行的话,我们就在通过python -m pip install -U pip,将pip重新更新一下。
在这里插入图片描述

2.2 不报错
当以上工作都完成之后,我们输入之前的命令,我们会发现在我们之前创建的文件目录下正好多了一项我们刚创建的bysms:
在这里插入图片描述

2.3 根目录介绍
注意最后的 bysms 就是项目的根目录名,执行上面命令后,就会创建 如下的目录结构:

bysms/

manage.py
bysms/
    __init__.py
    settings.py
    urls.py
    wsgi.py

1.最外层 bysms/ 就是项目根目录 d:\projects\bysms\ , 项目文件都放在里面。

2.manage.py 是一个工具脚本,用作项目管理的。以后我们会使用它执行管理操作。

3.里面的 bysms/ 目录是python包。 里面包含项目的重要配置文件。这个目录名字不能随便改,因为manage.py 要用到它。

4.bysms/settings.py 是 Django 项目的配置文件. 包含了非常重要的配置项,以后我们可能需要修改里面的配置。

5.bysms/urls.py 里面存放了 一张表, 声明了前端发过来的各种http请求,分别由哪些函数处理. 这个我们后面会重点的讲。

6.bysms/wsgi.py要了解这个文件的作用, 我们必须明白wsgi 是什么意思

python 组织制定了 web 服务网关接口(Web Server Gateway Interface) 规范 ,简称wsgi。遵循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再返回给前端。

在这里插入图片描述

2.4 为什么要有两个子系统
因为这两个子系统有各自负责的重点。
1.wsgi web server 负责 提供高效的http请求处理环境,可以使用多线程、多进程或者协程的机制。 http 请求发送到 wsgi web server , wsgi web server 分配 线程或者进程或者 轻量级线程(协程),然后在 这些 线程、进程、或者协程里面,去调用执行 wsgi web application 的入口代码。
wsgi web application 被调用后,负责 处理 业务逻辑。 业务逻辑的处理可能非常复杂,wsgi web application 需要精心的设计来正确处理。

2.django是 wsgi web application 的框架,它只有一个简单的单线程 wsgi web server。 供调试时使用。产品正式上线运行的时候,通常我们需要高效的 wsgi web server 产品,比如 gunicorn,uwsgi,cherrypy等,结合Django ,组成一个高效的 后端服务。
所以这个 wsgi.py 就是 提供给wsgi web server调用 的接口文件,里面的变量application对应对象实现了 wsgi入口,供wsgi web server调用 。

在我们的wsgi.py文件中,也正是这个代码提供了这个入口:

import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'bysms.settings')
application = get_wsgi_application()
三、运行 Django web服务
我们说了, django虽然只是 wsgi web application 的框架,但是它也有一个简单的 wsgi web server。 供调试时使用。所以也构成一个完整的后端web服务。 本地调试代码的时候,完全可以运行起来。
运行开发web 服务只需要在命令行窗口里面

3.1 进入项目根目录
首先进入到项目根目录 ,比如,我们这里就是 C:\Users\xuyip\PycharmProjects\Dream的Django项目\bysms\bysms
在这里插入图片描述

3.2 输入固定命令
在cmd中进入根目录,然后执行命令:python manage.py runserver 0.0.0.0:8080,
在这里插入图片描述

其中0.0.0.0:8080是指定的web服务绑定的IP地址和端口,0.0.0.0表示绑定本机的所有IP地址,可以通过任何本机IP,包括环回地址127.0.0.1来访问web 服务
注意: 用这个方法不能关闭cmd,否则服务会停止

3.3 在Pycharm中直接运行web
在Pycharm中直接运行web服务,需要进行设置:
在这里插入图片描述

在这里插入图片描述

3.4 浏览器访问
用浏览器访问127.0.0.1:8080(注意8080不能省略,缺省默认为80)
最终能看到这个效果,说明web 服务成功启动了:
在这里插入图片描述

3.5 换IP
如果要使用别的ip进行访问,例如192.168.1.100或者localhost,可以在setting.py中的ALLOWED_HOSTS中进行添加。
在这里插入图片描述

目录
相关文章
|
8天前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
46 3
|
9天前
|
Linux 区块链 Python
Python实用记录(十三):python脚本打包exe文件并运行
这篇文章介绍了如何使用PyInstaller将Python脚本打包成可执行文件(exe),并提供了详细的步骤和注意事项。
22 1
Python实用记录(十三):python脚本打包exe文件并运行
|
1月前
|
Python
turtle库的几个案例进阶,代码可直接运行(python经典编程案例)
该文章展示了使用Python的turtle库进行绘图的进阶案例,包括绘制彩色圆形和复杂图案的代码示例。
176 6
turtle库的几个案例进阶,代码可直接运行(python经典编程案例)
|
14天前
|
设计模式 测试技术 持续交付
开发复杂Web应用程序
【10月更文挑战第3天】开发复杂Web应用程序
28 2
|
16天前
|
Java PHP
PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。理解其垃圾回收机制有助于开发高效稳定的PHP应用。
【10月更文挑战第1天】PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。其垃圾回收机制包括引用计数与循环垃圾回收,对提升应用性能和稳定性至关重要。本文通过具体案例分析,详细探讨PHP垃圾回收机制的工作原理,特别是如何解决循环引用问题。在PHP 8中,垃圾回收机制得到进一步优化,提高了效率和准确性。理解这些机制有助于开发高效稳定的PHP应用。
35 3
|
1月前
|
Python
turtle库的几个简单案例,代码可直接运行(python经典编程案例)
该文章提供了多个使用Python的turtle库绘制不同图形的简单示例代码,如画三角形、正方形、多边形等,展示了如何通过turtle进行基本的绘图操作。
51 5
|
1月前
|
Windows Python
python获取windows机子上运行的程序名称
python获取windows机子上运行的程序名称
|
10天前
|
前端开发 Java Shell
后端项目打包上传服务器部署运行记录
后端项目打包上传服务器部署运行记录
14 0
|
JSON 前端开发 安全
Python Web开发(八):后端开发中的增查改删处理
Python Web开发(八):后端开发中的增查改删处理
248 0
|
9天前
|
存储 程序员 开发者
Python编程基础:从入门到实践
【10月更文挑战第8天】在本文中,我们将一起探索Python编程的奇妙世界。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供有价值的信息。我们将从Python的基本概念开始,然后逐步深入到更复杂的主题,如数据结构、函数和类。最后,我们将通过一些实际的代码示例来巩固我们的知识。让我们一起开始这段Python编程之旅吧!

热门文章

最新文章