Python Flask Web 第三课 —— 模板
1. 业务逻辑与表现逻辑
要想开发出易于维护的程序,关键在于编写形式简洁且结构良好的代码。
当用户在网站中注册了一个新账户。用户在表单中输入电子邮件地址和密码,然后点击提交按钮。服务器接收到包含用户输入数据的请求,然后 Flask 把请求分发到处理注册请求的视图函数。这个视图函数需要:
- (1)访问数据库,添加新用户;
- (2)生成响应回送浏览器;
这两个过程分别成为:
- (1)业务逻辑
- (2)表现逻辑
把业务逻辑和表现逻辑混在一起会导致代码难以理解和维护。假设要为一个大型表格构建 HTML 代码,表格中的数据由数据库中读取的数据以及必要的 HTML 字符串连接在一起。
把表现逻辑转移到模板中能够提高程序的可维护性。
模板是一个包含响应文本的文件,其中包含用占位量表示的动态部分,其具体值只在请求的上下文中才知道。使用真实值替换变量,再返回最终得到的响应字符串,这一过程称为渲染。为了渲染模板,Flask 使用了一个名为 Jinja2 的强大模板引擎。
Python Flask Web 第三课 —— 模板相关推荐
- Python Flask Web 第四课 —— 模板引擎Jinja2
1. 基本介绍 形式最为简单的 Jinja2 模板是一个包含响应文本的文件. templates/index.html <h1>Hello World!</h1> 既然是模板, ...
- Python Flask Web 第六课 —— 静态文件
1. 静态文件与 web 程序的组成 Web 程序不是仅由 Python 代码 模板组成, 静态文件, HTML 代码中引用的图片. JavaScript 源码文件. CSS: >>> ...
- Python Flask Web 第七课 —— 使用 flask-moment 本地化日期和时间
服务器需要统一时间单位,这与用户所在的地理位置(时区)无关,所以一般使用协调世界时(UTC,Coordinated Universal Time). 对用户而言,会对 UTC 格式的时间感到困惑,更希 ...
- python flask html模板,python flask web开发实战 Jinja2模板
templates/index.html Hello World! templates/user.html Hello, {{ name }}! 渲染模板: from flask import Fla ...
- Python Flask Web 第十一课 —— 使用 Flask-SQLAlchemy 管理数据库
alchemy:炼金术,魔力: flask-sqlalchemy 是一个 flask 扩展,其简化了在 Flask 程序中使用 SQLAlchemy 的操作.SQLAlchemy 是一个很强大的关系型 ...
- Python Flask Web 第十课 —— flask-wtf
1. Flask-WTF 的安装与密钥的设置 默认情况下,flask-wtf 能保护所有表单免受跨站请求伪造(Cross-site Request Forgery,CSRF)的攻击.恶意网站把请求发送 ...
- Python Flask Web 第八课 —— request 请求对象
from flask import request 请求对象包含客户端发出的所有请求信息. 1. request.headers request.headers.get('User-Agent') 获 ...
- API接口开发其实特简单,Python Flask Web 框架教程来了
大家好,日常工作中,无论你是数据工程师.数据挖掘工程师,甚至数据分析人员,都不可避免的与他人进行数据交互,API接口提供数据是最常见的形式. 今天我给大家分享 Python Flask Web 框架教 ...
- Python Flask Web教程020: flask模板
flask学习记录004 0. 模板注释: 1. 模板可传递变量 2. 模板控制语法:控制块 if ,for 3. 模板过滤器 4. 模板复用 一.模板继承 二.include 三.宏(mcro) 5 ...
最新文章
- solr 4.8 mysql_solr 4.8+mysql數據庫數據導入 + mmseg4j中文全文索引 配置筆記
- 使用Trello看板管理项目
- python自定义全局异常_flask中主动抛出异常及统一异常处理代码示例
- java命令修改user.home file.encoding等参数值
- 阮一峰:Flex 布局教程
- C++之namespace和::使用总结
- Android Studio 导入 Android 系统模块并编译和调试
- centos6设置静态IP
- 【JavaScript】变量
- Vue中watch用法详解
- 怎么创建css样式表,为HTML5表单创建CSS样式
- 新手如何在IEEE上发表论文?
- 中美IT人才俱乐部第一次活动见闻
- 程序员面试智力题总结
- von mises应力和stress intensity的区别
- 提升数据驱动能力的意义
- [大数据文章之其四] 概率数据结构简介
- 视频教程-微信小程序从入门基础(第一季)-PHP
- 头条搬砖最新实操玩法
- 计算机上根号5怎么打,根号怎么打(5种快速输入√与×号的方法)
热门文章
- python改变像素点颜色,是否可以在Python中更改单个像素的颜色?
- 折线图_Line plot - 折线图
- android activity 通知 service,android activity和service通信问题
- CUDA精进之路(三):图像处理——图像灰度化、灰度直方图统计
- u-boot之添加一块新板子的支持
- 【C/C++】一篇文章教你区分数组指针指针数组
- 10.15 sigstjmp以及siglongjmp函数
- transform属性
- 【面试虐菜】—— MongoDB知识整理
- 线段树专辑—— pku 3468 A Simple Problem with Integers