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

目录
相关文章
|
1天前
|
机器学习/深度学习 人工智能 算法
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
植物病害识别系统。本系统使用Python作为主要编程语言,通过收集水稻常见的四种叶片病害图片('细菌性叶枯病', '稻瘟病', '褐斑病', '稻瘟条纹病毒病')作为后面模型训练用到的数据集。然后使用TensorFlow搭建卷积神经网络算法模型,并进行多轮迭代训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地模型文件。再使用Django搭建Web网页平台操作界面,实现用户上传一张测试图片识别其名称。
30 21
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
|
12天前
|
前端开发 搜索推荐 算法
中草药管理与推荐系统Python+Django网页界面+推荐算法+计算机课设系统+网站开发
中草药管理与推荐系统。本系统使用Python作为主要开发语言,前端使用HTML,CSS,BootStrap等技术和框架搭建前端界面,后端使用Django框架处理应用请求,使用Ajax等技术实现前后端的数据通信。实现了一个综合性的中草药管理与推荐平台。具体功能如下: - 系统分为普通用户和管理员两个角色 - 普通用户可以登录,注册、查看物品信息、收藏物品、发布评论、编辑个人信息、柱状图饼状图可视化物品信息、并依据用户注册时选择的标签进行推荐 和 根据用户对物品的评分 使用协同过滤推荐算法进行推荐 - 管理员可以在后台对用户和物品信息进行管理编辑
48 12
中草药管理与推荐系统Python+Django网页界面+推荐算法+计算机课设系统+网站开发
|
18小时前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
22 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
24天前
|
前端开发 JavaScript 数据库
python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器
python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器
|
26天前
|
负载均衡 应用服务中间件 网络安全
Django后端架构开发:Nginx服务优化实践
Django后端架构开发:Nginx服务优化实践
36 2
|
7天前
|
数据处理 Python
Django视图:构建动态Web页面的核心技术
Django视图:构建动态Web页面的核心技术
|
20天前
|
数据库 开发者 Java
颠覆传统开发:Hibernate与Spring Boot的集成,让你的开发效率飞跃式提升!
【8月更文挑战第31天】在 Java 开发中,Spring Boot 和 Hibernate 已成为许多开发者的首选技术栈。Spring Boot 简化了配置和部署过程,而 Hibernate 则是一个强大的 ORM 框架,用于管理数据库交互。将两者结合使用,可以极大提升开发效率并构建高性能的现代 Java 应用。本文将通过代码示例展示如何在 Spring Boot 项目中集成 Hibernate,并实现基本的数据库操作,包括添加依赖、配置数据源、创建实体类和仓库接口,以及在服务层和控制器中处理 HTTP 请求。这种组合不仅简化了配置,还提供了一套强大的工具来快速开发现代 Java 应用程序。
31 0
|
21天前
|
开发框架 安全 数据库
解锁Django框架神秘面纱!从入门到实战,掌握这些技巧,让你的Web应用秒变高效神器!
【8月更文挑战第31天】Django 是 Python 的明星 Web 开发框架,以其高效、安全及可扩展性著称,适用于构建各类 Web 应用。本文从 Django 基础概念出发,介绍其 MTV 架构,涵盖模型(Model)、模板(Template)、视图(View)等核心组件,并通过示例代码展示实际应用。此外,还将探讨路由配置、管理界面及实战技巧,帮助读者全面掌握 Django,为高效 Web 开发打下坚实基础。
27 0
|
21天前
|
C++ Python
Django视图函数VS类视图:如何选择最适合你的开发方式?
【8月更文挑战第31天】本文对比了Django中的函数视图和类视图。函数视图直接处理HTTP请求和响应,灵活且易于维护,适用于简单业务逻辑;类视图基于Python类,提供更丰富的功能和更高的灵活性,适合处理复杂业务逻辑。选择哪种视图取决于具体需求,合理使用两者可帮助你构建高效且易维护的Django应用。
12 0
|
21天前
|
SQL 安全 算法
【惊险揭秘】Django高手的十大安全秘籍:如何从零构建坚不可摧的Web堡垒?
【8月更文挑战第31天】《Django安全性指南:构建安全Web应用的十大关键步骤》介绍了在使用Django框架开发Web应用时,如何通过十个关键步骤提升应用安全性。从使用HTTPS、设置CSRF保护到限制密码复杂度、防止SQL注入,文章详细阐述了每一步的具体实施方法及示例代码,帮助开发者构建更加安全可靠的Web应用。
13 0