加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Django 推导、简介

发布时间:2020-12-20 10:48:48 所属栏目:Python 来源:网络整理
导读:目? 录 web应用前提知识 web应用定义、软件开发、HTTP协议及特性、动静态页面、模板渲染、web请求流程 手撸简易版本的web框架 思路推导 :。。。。。 web框架 web主流框架的分类及其特点介绍 Django简介 创建Django 项目的方式、app(应用)的概念及注意事项

目? 录

  • web应用前提知识

  web应用定义、软件开发、HTTP协议及特性、动静态页面、模板渲染、web请求流程

  • 手撸简易版本的web框架

  思路推导:。。。。。

  • web框架

  web主流框架的分类及其特点介绍

  • Django简介

  创建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.计算机的名称不能有中文
  2.一个pycharm窗口就是一个项目,不要多个项目放在一个窗口里面
  3.项目名不能起中文

?

四、Django简介

1、下载与安装事项

版本问题
  djang下载
  推荐下载1.11.11版本

下载的两种方式:
  命令行直接下载
    pip3 install django==1.11.11
  pycharm下载

验证是否下载成功
  django-admin

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.一定记得清浏览器的缓存

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读