> 文档中心 > Python Web开发二:Django的安装和运行

Python Web开发二:Django的安装和运行

在这里插入图片描述

Python Web开发二:Django的安装和运行

  • 一、安装Django
    • 1.1 安装
    • 1.2 检查
  • 二、创建项目
    • 2.1 报错
    • 2.2 不报错
    • 2.3 根目录介绍
    • 2.4 为什么要有两个子系统
  • 三、运行 Django web服务
    • 3.1 进入项目根目录
    • 3.2 输入固定命令
    • 3.3 在Pycharm中直接运行web
    • 3.4 浏览器访问
    • 3.5 换IP
  • `【系列好文推荐】`

前言: 📢📢📢
零基础学Python】系列课程是针对Python入门&进阶打造的一全套课程,在这里,我将会一 一更新Python基础语法、Python爬虫、Web开发、 Django框架、Flask框架以及人工智能相关知识,帮助你成为Python大神,如果你喜欢的话就抓紧收藏订阅起来吧~💘💘💘
【报团取暖】🆘🆘🆘
🍋🍋🍋如果对学习没有自制力或者没有一起学习交流的动力,欢迎私信我或者文末添加vx,拉你进群,群内有行业大佬帮大家解答疑问,我们一起学习,群内定期还会有抽奖活动和红包相送嗷,快来进入我们吧~
在这里插入图片描述

一、安装Django

1.1 安装

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

pip install django

当我们看到出现如下命令时。则代表我们已经安装成功:
Python Web开发二:Django的安装和运行

1.2 检查

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

python -m django --version

Python Web开发二:Django的安装和运行
如果像上面那样显示出一个版本数字(比如这里就是3.2.13) 表示已经安装好了。

二、创建项目

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

django-admin startproject bysms

cmd中我们首先通过:cd命令将路径转化成我们当前的文件路径:
Python Web开发二:Django的安装和运行
然后输入我们的命令:django-admin startproject bysms

2.1 报错

如果不会报错,那么我们非常幸运,如果会报错的话,我们还需要进行以下操作:
Python Web开发二:Django的安装和运行
我们需要知道报错的这个exe文件,将其删除:

Python Web开发二:Django的安装和运行
删除之后我们在通过命令:python -m pip install -U+(我们需要删除的文件名称,不加后缀)在将其安装一遍,如果还不行的话,我们就在通过python -m pip install -U pip,将pip重新更新一下。
Python Web开发二:Django的安装和运行

2.2 不报错

当以上工作都完成之后,我们输入之前的命令,我们会发现在我们之前创建的文件目录下正好多了一项我们刚创建的bysms
Python Web开发二:Django的安装和运行

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再返回给前端。

Python Web开发二:Django的安装和运行

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 osfrom django.core.wsgi import get_wsgi_applicationos.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
Python Web开发二:Django的安装和运行

3.2 输入固定命令

在cmd中进入根目录,然后执行命令:python manage.py runserver 0.0.0.0:8080,
Python Web开发二:Django的安装和运行

其中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服务,需要进行设置:
Python Web开发二:Django的安装和运行

Python Web开发二:Django的安装和运行

3.4 浏览器访问

用浏览器访问127.0.0.1:8080(注意8080不能省略,缺省默认为80)
最终能看到这个效果,说明web 服务成功启动了:
Python Web开发二:Django的安装和运行

3.5 换IP

如果要使用别的ip进行访问,例如192.168.1.100或者localhost,可以在setting.py中的ALLOWED_HOSTS中进行添加。
Python Web开发二:Django的安装和运行

【系列好文推荐】

零基础玩转Python:Python入门这些你必须要知道~语言简介+语法基础+应用实战 熬夜整理~
Python Web开发一:Web开发简介
零基础玩转Python基础篇----第一节:Python的自我介绍

欢迎订阅本专栏:零基础学Python 系列课程是针对Python入门&进阶打造的一全套课程,在这里,我将会一 一更新Python基础语法、Python爬虫、Web开发、 Django框架、Flask框架以及人工智能相关知识,帮助你成为Python大神,如果你喜欢的话就抓紧收藏订阅起来吧~💘💘💘
💕💕💕 好啦,这就是今天要分享给大家的全部内容了,我们下期再见!✨ ✨ ✨
🍻🍻🍻如果你喜欢的话,就不要吝惜你的一键三连了~
在这里插入图片描述
在这里插入图片描述