【零基础学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天前
|
存储 缓存 负载均衡
后端开发中的性能优化策略
本文将探讨几种常见的后端性能优化策略,包括代码层面的优化、数据库查询优化、缓存机制的应用以及负载均衡的实现。通过这些方法,开发者可以显著提升系统的响应速度和处理能力,从而提供更好的用户体验。
33 4
|
15天前
|
存储 前端开发 Java
深入理解后端开发:从基础到高级
本文将带你走进后端开发的神秘世界,从基础概念到高级应用,一步步揭示后端开发的全貌。我们将通过代码示例,让你更好地理解和掌握后端开发的核心技能。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供有价值的信息和启示。
|
14天前
|
运维 监控 Java
后端开发中的微服务架构实践与挑战####
在数字化转型加速的今天,微服务架构凭借其高度的灵活性、可扩展性和可维护性,成为众多企业后端系统构建的首选方案。本文深入探讨了微服务架构的核心概念、实施步骤、关键技术考量以及面临的主要挑战,旨在为开发者提供一份实用的实践指南。通过案例分析,揭示微服务在实际项目中的应用效果,并针对常见问题提出解决策略,帮助读者更好地理解和应对微服务架构带来的复杂性与机遇。 ####
|
12天前
|
消息中间件 运维 安全
后端开发中的微服务架构实践与挑战####
在数字化转型的浪潮中,微服务架构凭借其高度的灵活性和可扩展性,成为众多企业重构后端系统的首选方案。本文将深入探讨微服务的核心概念、设计原则、关键技术选型及在实际项目实施过程中面临的挑战与解决方案,旨在为开发者提供一套实用的微服务架构落地指南。我们将从理论框架出发,逐步深入至技术细节,最终通过案例分析,揭示如何在复杂业务场景下有效应用微服务,提升系统的整体性能与稳定性。 ####
29 1
|
12天前
|
前端开发 安全 JavaScript
2025年,Web3开发学习路线全指南
本文提供了一条针对Dapp应用开发的学习路线,涵盖了Web3领域的重要技术栈,如区块链基础、以太坊技术、Solidity编程、智能合约开发及安全、web3.js和ethers.js库的使用、Truffle框架等。文章首先分析了国内区块链企业的技术需求,随后详细介绍了每个技术点的学习资源和方法,旨在帮助初学者系统地掌握Dapp开发所需的知识和技能。
2025年,Web3开发学习路线全指南
|
14天前
|
消息中间件 运维 API
后端开发中的微服务架构实践####
本文深入探讨了微服务架构在后端开发中的应用,从其定义、优势到实际案例分析,全面解析了如何有效实施微服务以提升系统的可维护性、扩展性和灵活性。不同于传统摘要的概述性质,本摘要旨在激发读者对微服务架构深度探索的兴趣,通过提出问题而非直接给出答案的方式,引导读者深入
31 1
|
14天前
|
负载均衡 监控 API
后端开发中的微服务架构实践与挑战
本文深入探讨了微服务架构在后端开发中的应用,分析了其优势和面临的挑战,并通过案例分析提出了相应的解决策略。微服务架构以其高度的可扩展性和灵活性,成为现代软件开发的重要趋势。然而,它同时也带来了服务间通信、数据一致性等问题。通过实际案例的剖析,本文旨在为开发者提供有效的微服务实施指导,以优化系统性能和用户体验。
|
17天前
|
Web App开发 开发框架 JavaScript
深入浅出Node.js后端开发
本文将带你领略Node.js的魅力,从基础概念到实践应用,一步步深入理解并掌握Node.js在后端开发中的运用。我们将通过实例学习如何搭建一个基本的Web服务,探讨Node.js的事件驱动和非阻塞I/O模型,以及如何利用其强大的生态系统进行高效的后端开发。无论你是前端开发者还是后端新手,这篇文章都会为你打开一扇通往全栈开发的大门。
|
17天前
|
Web App开发 JavaScript 前端开发
深入浅出Node.js后端开发
本文将带领读者从零基础开始,一步步深入到Node.js后端开发的精髓。我们将通过通俗易懂的语言和实际代码示例,探索Node.js的强大功能及其在现代Web开发中的应用。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供新的见解和技巧,让你的后端开发技能更上一层楼。
|
2月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
149 3