1.Django安装和项目创建

2023-11-10

Django 框架是用Python语言开发的, 所以安装Django 就像安装其他的 Python库一样,执行如下命令即可

pip install django

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

python -m django --version

创建项目

安装好以后, 我们需要创建我们 的 项目目录,项目目录里面保存了开发系统的所有文件。

我们可以创建 d:\projects 作为我们的项目所在的目录。

然后从命令行窗口中 进入到 d:\projects 目录,执行下面的命令创建项目目录

django-admin startproject bysms

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

bysms/
    manage.py
    bysms/
        __init__.py
        settings.py
        urls.py
        wsgi.py
  • 最外层 bysms/ 就是项目根目录 d:\projects\bysms\ , 项目文件都放在里面。

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

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

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

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

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

    python 组织制定了 web 服务网关接口(Web Server Gateway Interface) 规范 ,简称wsgi。参考文档 PEP 3333 – Python Web Server Gateway Interface v1.0.1 | peps.python.org

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

    如下图所示

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

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

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

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

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

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

    python 组织制定了 web 服务网关接口(Web Server Gateway Interface) 规范 ,简称wsgi。参考文档 PEP 3333 – Python Web Server Gateway Interface v1.0.1 | peps.python.org

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

    如下图所示

        

  • 为什么要搞出两个子系统,这么麻烦呢?

    因为这两个子系统有各自负责的重点。

    wsgi web server 负责 提供高效的http请求处理环境,可以使用多线程、多进程或者协程的机制。

    http 请求发送到 wsgi web server , wsgi web server 分配 线程或者进程或者 轻量级线程(协程),然后在 这些 线程、进程、或者协程里面,去调用执行 wsgi web application 的入口代码。

    wsgi web application 被调用后,负责 处理 业务逻辑。 业务逻辑的处理可能非常复杂, wsgi web application 需要精心的设计来正确处理。

    django是 wsgi web application 的框架,它只有一个简单的单线程 wsgi web server。 供调试时使用。

    产品正式上线运行的时候,通常我们需要高效的 wsgi web server 产品,比如 gunicorn,uwsgi,cherrypy等,结合Django ,组成一个高效的 后端服务。

    所以这个 wsgi.py 就是 提供给wsgi web server调用 的接口文件,里面的变量application对应对象实现了 wsgi入口,供wsgi web server调用 。

 

运行 Django web服务

刚才我们说了, django虽然只是 wsgi web application 的框架,但是它也有一个简单的 wsgi web server。 供调试时使用。

所以也构成一个完整的后端web服务。 本地调试代码的时候,完全可以运行起来。

运行开发web 服务只需要在命令行窗口里面,

首先进入到项目根目录 ,比如,我们这里就是 d:\projects\bysms\

然后执行如下命令

python manage.py runserver 0.0.0.0:80

这样服务就会被启动。 我们就可以在浏览器访问web服务了。

其中 0.0.0.0:80 是指定 web服务绑定的 IP 地址和端口。

0.0.0.0 表示绑定本机所有的IP地址, 就是可以通过任何一个本机的IP (包括 环回地址 127.0.0.1 ) 都可以访问我们的服务。

80 表示是服务启动在80端口上。

请打开浏览器,地址栏输入 ‘127.0.0.1’ ,就可以看到如下的界面,表示Django服务搭建成功,启动成功。

注意,启动web服务的命令行窗口不能关闭,如果关闭,web服务就停止了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

1.Django安装和项目创建 的相关文章

随机推荐

  • 十大经典排序算法(动图演示C++实现)

    参考 https www cnblogs com onepixel articles 7674659 html 十大经典排序算法 动图演示C 实现 0 算法概述 0 1 算法分类 十种常见排序算法可以分为两大类 选泡插 快归堆希统计基 比较
  • SpringBoot脚手架工程快速搭建

    1 说明 本文汇总了搭建Spring Boot工程的文章 可以用于快速搭建一个新的Spring Boot工程 包括最开始的PowerDesigner数据库设计工具使用 导出对应数据库的DDL脚本 然后创建Maven工程 配置Spring B
  • Go tcp通信

    一般的网络通信socket编程过程按照建立socket使用socket 函数 绑定socket使用bind 函数 监听端口使用listen 函数或者连接使用connect 函数 接收使用receive 函数或者发送使用send 函数这样一个
  • docker部署mysql和jar包

    参考链接 docker介绍 一 文件准备 1 LabelingTool 后端 lt main模块下的配置文件 修改hanlp properties中 linux docker下hanlp路径 root usr Hanlp 2 将后端打成ja
  • Python3.7 + Yolo3识别 语音播报

    一 利用Python调用系统win10的文字转语音 首先下载需要用到的库 pip install pyttsx3 i https mirrors aliyun com pypi simple 接下来直接上代码 import win32com
  • 朴素贝叶斯分类器简介及C++实现(性别分类)

    贝叶斯分类器是一种基于贝叶斯定理的简单概率分类器 在机器学习中 朴素贝叶斯分类器是一系列以假设特征之间强 朴素 独立下运用贝叶斯定理为基础的简单概率分类器 朴素贝叶斯是文本分类的一种热门 基准 方法 文本分类是以词频为特征判断文件所属类别或
  • GPGGA数据解析

    此文为转载其他博主的 由于没有注明转载出处 所以不从得知 谢谢原文作者 NMEA数据如下 GPGGA 121252 000 3937 3032 N 11611 6046 E 1 05 2 0 45 9 M 5 7 M 0000 77 GPR
  • 自定义数组的工具类

    1 创建ArrayUtilTest类 用于编写要实现数组的功能的方法 public class ArrayUtilTest 求数组的最大值 public int getMax int arr int max 0 for int i 0 i
  • cv2和PIL.Image之间的转换

    PIL Image转换成OpenCV格式 import cv2 from PIL import Image import numpy image Image open plane jpg image show img cv2 cvtColo
  • 搭建一个单节点的k8s集群

    首先安装kubectl kubeadm kubelet 关闭文件交换 sudo swapoff a 创建单节点集群 kubeadm init pod network cidr 192 168 0 0 16 kubernetes versio
  • OpenCV中的霍夫线变换、概率霍夫线变换

    OpenCV中的霍夫线变换 概率霍夫线变换 1 效果图 2 原理 2 1 什么是霍夫变换 2 2 什么是概率霍夫变换 3 源码 3 1 霍夫变换 3 2 概率霍夫变换 参考 这篇博客将介绍Python OpenCV中的霍夫变换 包括什么是霍
  • JavaScript的变量类型

    JavaScript的变量类型 JavaScript的数据类型分为两种 1 值类型 基本数据类型 字符串 String 数字 Number 布尔 Boolean 未定义 Undefined 空 Null Symbol 2 引用数据类型 对象
  • 应用层通过/sys/class/gpio文件操作gpio口

    1 内核gpio子系统介绍 应用层通过sysfs操作gpio的前提是内核中已经向gpio子系统注册了gpio资源 并且在 sys class 目录下可以看到gpio类 详细情况参考博客 2 6 35内核的gpio子系统详解 2 sys cl
  • 大数据学习——linux系统的网卡配置步骤

    ifconfig 查看ip 没有ip时需要配置 配置步骤 1输入命令setup 选择network configuration 选择runtool 选择device configuration 选择eth0 修改Use DHCP 把 用空格
  • (2020最新)CentOS7 解决登录MySQL后无mysql系统表问题

    前言 今天安装了MySQL 本来可以避免这个问题的 但是由于我的一时疏忽 整出了这个错误 那就解决呗 错误起因 我是按照这篇博客装的 https blog csdn net qq 43437122 article details 10355
  • vue 项目中页面打印实现(去除页眉页脚)

    vue 项目中页面打印实现 参考文章 13 Paged media 项目描述 背景 框架vue 组件 element ui 已有一个在用的后台管理系统 需求 现需在列表页面添加按钮 打印协议 并且在点击按钮以后 进入打印页面 确认无误后在打
  • 两个数组找出同时包含的数字

    问题 有两个int32位的无序数组找出同时包含的数字 数组长度分别为M和N 思路一 暴力搜索 采用循环遍历找出相同的数值 def find same array1 array2 found for i in array1 for j in
  • matlab newff激活函数,matlab神经网络newff函数的用法

    设 P T 是训练样本 X Y 是测试样本 net newrb P T err goal spread 建立网络 q sim net p e q T plot p q 画训练误差曲线 q sim net X e q Y plot X q 画
  • 由于找不到MSVCR120.dll,无法继续执行代码

    原因 这是因为 MSVCR120 dll 这个dll程序消失了 所以会出现这样的情况 解决方法 下载 MSVCR120 dll 这个dll文件 下载地址 DLL文件下载 在搜索框中输入确实的DLL文件 点击搜索即可 如下图 点击文件名 往下
  • 1.Django安装和项目创建

    Django 框架是用Python语言开发的 所以安装Django 就像安装其他的 Python库一样 执行如下命令即可 pip install django 你可以执行如下命令检查Django是否安装好 并且查看安装的Django版本 p