Django-前期初识

目录

-Web框架本质

-python主流Web框架

--组成通式

--Django

--Flask

--Tornado

--fastapi、sanic等其它

-模板语法

--jinja2初识

---简介

---安装

---基本语法

---样例使用

-静、动态网页

--静态网页

--动态网页


-Web框架本质

Web框架本质上可以看成是一个功能强大的socket服务端,用户的浏览器可以看成是拥有可视化界面的socket客户端。两者通过网络请求实现数据交互,我们也可以从架构层面上先简单的将Web框架看做是对前端、数据库的全方位整合。


-python主流Web框架

--组成通式

socket部分(A),路由与视图函数匹配关系(B),模板语法(C)

--Django

Django是一个开放源代码Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。几乎囊括了 Web 应用的方方面面,可以用于快速搭建高性能、优雅的网站

特点:大而全,自带功能特别多

不足:笨重,在一些小型项目开发上用不到所有功能

组成:A用的wsgiref,B用的自己的,C用的自己的

--Flask

Flask 是一个轻量级的基于 Python 的 Web 框架,简单易用,适合快速开发,封装功能不及Django完善,性能不及Tornado

特点:小但精,自带功能少,但支持的第三方模块多

不足:比较依赖第三方开发者

组成:A用的werkzeug,B自己写的,C用的jinja2

--Tornado

一个用Python语言写成的Web服务器兼Web应用框架,轻量级的Web框架,拥有异步非阻塞IO的处理方式

特点:异步非阻塞,注重性能优越,速度快

不足:模板和数据库部分不利于封装为一个功能模块,暂时不好学

组成:A、B、C都是自己写的

--fastapi、sanic等其它


-模板语法

模版语法可以将后端的内容传递给HTML页面,实现前端数据的动态展现,十分方便

一般在web开发中用于实现前后端交互

--jinja2初识

---简介

jinja2是当下一个比较好用的模板语法

jinja2(欢迎来到 Jinja2 — Jinja2 2.7 documentation (jinkan.org))是Flask作者开发的一个模板系统,起初是仿django模板的一个模板引擎,为Flask提供模板支持,由于其灵活,快速和安全等优点被广泛使用。

---安装

jinja2在python中是第三方模块,使用前应安装

pip3 install jinja2

---基本语法

{% %}     逻辑相关
{{ }}     变量相关
{# #}     注释

---样例使用

views.py

from jinja2 import Template
def index(request):
    user_dict = {'name': 'weer', 'age': 18, 'hobby': 'python'}
    num_list = [111, 222, 333]
    with open(r'index.html', 'r', encoding='utf-8') as f:
        data = f.read()
    temp_obj = Template(data)
    res = temp_obj.render({'user':user_dict,'num_list':num_list})
    return res

index.html

<h1>字典数据</h1>
<p>{{ user }}</p>
<p>{{ user.name }}</p>
<p>{{ user['age'] }}</p>
<p>{{ user.get('hobby') }}</p>

<h1>列表数据</h1>
<p>
    {% for i in num_list%}
        <span>number:{{ i }}</span>
    {% endfor %}
</p>

-静、动态网页

--静态网页

页面是死的,不改不变

在网站设计中,静态网页是标准的 HTML 文件,它的文件扩展名是 .htm、.html,可以包含文本、图像、声音、FLASH 动画、客户端脚本和 ActiveX 控件等。

特点:

  • 静态网页不能自动更新,若要更新则需重新编写 HTML 源文件,然后再上传
  • 静态网页的内容不随浏览用户、浏览时间等条件的变化而变化
  • 静态网页无论浏览者浏览与否都是真实存在的一个文件,都对应一个 URL
  • 静态网页实现人机交互有较大的局限性
  • 加载速度更快,所以有“伪静态网页”的使用

--动态网页

数据是实时获取的

动态网页的网页文件中除了HTML标记以外,还包括一些特定功能的程序代码,这些代码可以使得浏览器和服务器可以交互,所以服务器端根据客户的不同请求动态的生成网页内容。

特点:

  • 动态网页在服务器端运行,客户机上看到的只是它的返回结果,不可能看到它的源文件
  • 不同的人、不同时间、不同地点浏览同一个动态网页返回不同的内容。
  • 动态网页本身并不是一个独立存在于服务器的网页文件
  • 动态网页更容易实现人机交互
  • 动态网页构建的网站维护起来容易
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weer-wmq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值