Django 推导、简介
目? 录
web应用定义、软件开发、HTTP协议及特性、动静态页面、模板渲染、web请求流程
思路推导:。。。。。
web主流框架的分类及其特点介绍
创建Django 项目的方式、app(应用)的概念及注意事项、Django各个文件的作用、Django必会三板斧? ? 一、web应用前提知识1、什么是web应用?web应用本质上就是一个socket服务端,而用户的浏览器就是一个客户端。 (这样我们就可以自己实现一个web框架) 2、软件开发架构c/s 架构: 客户端 与 服务端 b/s 架构: 浏览器 与 服务器 b/s架构本质上也就是 c/s架构 3、HTTP协议及特性HTTP协议的由来? 我们客户端想服务端发送请求数据,以及服务端向客户端返回数据 都需要统一的格式, 统一格式就需要一个统一的规则,这个规则就是HTTP协议。 HTTP协议: 超文本传输协议,它规定了客户端与服务端之间消息传输的格式。 HTTP协议的四大特性: a、基于TCP/IP协议作用于应用层的协议 b、基于请求响应 一次请求一次回应,服务器不会主动向客户端发送数据 c、无状态 服务端不会保留客户端的状态,客户端每一次请求都是一次新的请求。。。。 d、无连接 HTTP 协议,一次请求回应之后就立即断开连接 数据格式之请求: 请求首行 请求头(一堆k,v键值对) 请求体(post请求携带的数据) 数据格式之响应: 响应首行 响应头(一堆k,v键值对) 响应体(post请求携带的数据) 响应状态码: 1XX: 服务器已经成功接收到你的数据正在处理,并且你可以继续提交数据 2XX:? 请求成功? ? ? 服务器已经返回你想要的数据 3XX: 重定向(跳转网页) 4XX: 请求资源不存在 (找不到请求的对应数据) 5XX: 服务器错误 4、动静态页面 静态页面: 页面上的数据都是写死的,万年不变 动态页面: 页面上的数据都是从后端动态获取的 例如:动态获取当前时间, 将数据库的数据内容传递给前端页面 5 模板渲染 后端生成的数据可以直接传递给前端页面使用(前端页面可以灵活的操作该数据) 》》》 模板语法 模板渲染 、 模板语法需要用到第三方库? ? pip install jinja2 模板语法? jinja2 :? ?支持前端直接使用类似于Python的语法操作数据,如下所示 <p>{{ user_dic }}</p> <p>{{ user_dic.name }}</p> <p>{{ user_dic[‘password‘] }}</p> <p>{{ user_dic.get(‘name‘) }}</p> {% for user in user_dict %} <!--[{},{},{}]--> <tr> <td>{{ user.id }}</td> <td>{{ user.name }}</td> <td>{{ user.password }}</td> </tr> {% endfor %} 6、web请求流程图 ? 注意:templates文件该文件夹存放的就是所有的页面文件(.html) 二、手撸简易版本的web框架思路推导:? ? 三、web框架什么是web框架? web框架的本质就是一个socket服务端。 python主流的三大web框架: Django:大而全, 自带很多功能模块,(缺点: 有点笨重) Flask:? 短小精悍, 自带的功能模块很少,大部分依赖于第三方模块。 Tornado:? 异步非阻塞,用于处理多io, 多路复用的情况,可以写游戏后端。 web框架至少包括3部分: a、socket b、路由与视图函数 c、模板渲染 3个主流框架分别对应的特点: Django?? a、用的别人的 wsgiref b、自己写的 c、自己写的 Flask: a、用的别人的werkzeug b、自己写的 c、用的别人的 jinja2 Tornado: a,b,c 都是自己写的 ? 注意事项(*****************************): 1.计算机的名称不能有中文 ? 四、Django简介1、下载与安装事项 版本问题 下载的两种方式: 2、创建Django项目的两种方式方式1:命令行创建创建Django项目: django-admin startproject? 项目名 创建app应用: python3 manage.py startapp app01 启动django项目: python3 manage.py runserver 方式2:pycharm创建FILE >>> new project 选择第二个django 需要注意名字不能有中文,选择本地的解释器,勾选后台管理 创建app的2种方式:(注意:是在Djang项目创建方式2的基础上) (1)pytharm命令行创建: python3 manage.py? startapp? app01 (2)Tools 下面run manage task功能栏 启动绿色箭头 强调:1.用django一定要保证只有一个在运行状态 切记切记!!!!!!! 2.一定记得清浏览器的缓存 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |