1. 创建Django项目 启动web服务

操作系统:windows
IDE:Pycharm

一、创建一个Django Project

主要有两个方法:

  1. 直接在Pycharm中创建:File -> New Project,然后选择Django
    在这里插入图片描述

  2. 在cmd中使用命令创建项目,然后在Pycharm中打开:
    cmd进入目标文件夹,然后使用指令:
    django-admin startproject my_django
    会自动创建一个名为my_django的项目,然后可以用Pycharm打开进行操作

二、Django的项目结构

例如项目名称为:Django_test
在这里插入图片描述

  • 最外层Django_test就是整个项目的根目录,项目文件都在这
  • manage.py是一个工具脚本,用于项目管理。我们使用它执行管理操作
  • 和项目同名的Django_test是python包,包含项目的重要配置文件,名字不能随便更改,因为manage.py要用到
  • wsgi.py:提供给wsgi web server调用 的接口文件,里面的变量application对应对象实现了 wsgi入口,供wsgi web server调用

三、运行Django web服务

  1. 可以在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,否则服务会停止
  2. 在Pycharm中直接运行web服务,需要进行设置:
    在这里插入图片描述
    在这里插入图片描述
    用浏览器访问127.0.0.1:8080(注意8080不能省略,缺省默认为80)
    最终能看到这个效果,说明web 服务成功启动了:
    在这里插入图片描述
    如果要使用别的ip进行访问,例如192.168.1.100或者localhost,可以在setting.py中的ALLOWED_HOSTS中进行添加。

注: 报错 NameError: name 'os' is not defined,只要加上import os即可

补充:

wsgi:

python 组织制定了 web 服务网关接口(Web Server Gateway Interface) 规范 ,简称wsgi。参考文档看这里

遵循wsgi规范的 web后端系统, 我们可以理解为由两个部分组成:wsgi web serverwsgi web application。它们通常是运行在一个python进程中的两个模块,或者说两个子系统。

wsgi web server 接受到前端的http请求后,会调用 wsgi web application 的接口( 比如函数或者类方法)方法,由wsgi web application 具体处理该请求。然后再把处理结果返回给 wsgi web serverwsgi web server再返回给前端。
wsgi示例
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 ,组成一个高效的 后端服务。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值