【零基础学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中进行添加。
在这里插入图片描述

目录
相关文章
|
3月前
|
Linux 计算机视觉 C++
【解决方案】Building wheel for opencv-python:安装卡顿的原因与解决方案
当你安装OpenCV时,命令行停在Building wheel for opencv-python (PEP 517) ... -似乎卡住了。这并非程序假死,而是其编译耗时巨大。本文将揭示原因,并提供优化安装体验的实用方法。
446 88
|
3月前
|
数据采集 存储 数据库
Python爬虫开发:Cookie池与定期清除的代码实现
Python爬虫开发:Cookie池与定期清除的代码实现
|
4月前
|
人工智能 搜索推荐 数据可视化
用 Python 制作简单小游戏教程:手把手教你开发猜数字游戏
本教程详细讲解了用Python实现经典猜数字游戏的完整流程,涵盖从基础规则到高级功能的全方位开发。内容包括游戏逻辑设计、输入验证与错误处理、猜测次数统计、难度选择、彩色输出等核心功能,并提供完整代码示例。同时,介绍了开发环境搭建及调试方法,帮助初学者快速上手。最后还提出了图形界面、网络对战、成就系统等扩展方向,鼓励读者自主创新,打造个性化游戏版本。适合Python入门者实践与进阶学习。
334 1
|
4月前
|
存储 算法 数据可视化
用Python开发猜数字游戏:从零开始的手把手教程
猜数字游戏是编程入门经典项目,涵盖变量、循环、条件判断等核心概念。玩家通过输入猜测电脑生成的随机数,程序给出提示直至猜中。项目从基础实现到功能扩展,逐步提升难度,适合各阶段Python学习者。
191 0
|
4月前
|
数据采集 存储 监控
抖音直播间采集提取工具,直播间匿名截流获客软件,Python开发【仅供学习】
这是一套基于Python开发的抖音直播间数据采集与分析系统,包含观众信息获取、弹幕监控及数据存储等功能。代码采用requests、websockets和sqlite3等...
|
5月前
|
存储 消息中间件 前端开发
PHP后端与uni-app前端协同的校园圈子系统:校园社交场景的跨端开发实践
校园圈子系统校园论坛小程序采用uni-app前端框架,支持多端运行,结合PHP后端(如ThinkPHP/Laravel),实现用户认证、社交关系管理、动态发布与实时聊天功能。前端通过组件化开发和uni.request与后端交互,后端提供RESTful API处理业务逻辑并存储数据于MySQL。同时引入Redis缓存热点数据,RabbitMQ处理异步任务,优化系统性能。核心功能包括JWT身份验证、好友系统、WebSocket实时聊天及活动管理,确保高效稳定的用户体验。
291 4
PHP后端与uni-app前端协同的校园圈子系统:校园社交场景的跨端开发实践
|
7月前
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
303 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
10月前
|
存储 缓存 负载均衡
后端开发中的性能优化策略
本文将探讨几种常见的后端性能优化策略,包括代码层面的优化、数据库查询优化、缓存机制的应用以及负载均衡的实现。通过这些方法,开发者可以显著提升系统的响应速度和处理能力,从而提供更好的用户体验。
305 6
|
6月前
|
前端开发 JavaScript 关系型数据库
2025 年前端与后端开发方向的抉择与展望-优雅草卓伊凡
2025 年前端与后端开发方向的抉择与展望-优雅草卓伊凡
270 5
2025 年前端与后端开发方向的抉择与展望-优雅草卓伊凡
|
6月前
|
监控 前端开发 小程序
陪练,代练,护航,代打小程序源码/前端UNIAPP-VUE2.0开发 后端Thinkphp6管理/具备家政服务的综合型平台
这款APP通过技术创新,将代练、家政、娱乐社交等场景融合,打造“全能型生活服务生态圈”。以代练为切入点,提供模块化代码支持快速搭建平台,结合智能匹配与技能审核机制,拓展家政服务和商业管理功能。技术架构具备高安全性和扩展性,支持多业务复用,如押金冻结、录屏监控等功能跨领域应用。商业模式多元,包括交易抽成、增值服务及广告联名,同时设计跨领域积分体系提升用户粘性,实现生态共生与B端赋能。
471 12

热门文章

最新文章

推荐镜像

更多