Flask:Flask的模板系统和静态文件
1、Flask模板系统
Django框架有自己独立的模板系统,而Flask是没有的,Flask默认采用jinjia2模板系统,jinjia2是仿写Django模板系统的一个第三方模块,但性能上要比Django的模板系统要好一些,在安装Flask的时候,jinjia2被以依赖包的形式安装到了环境里,下面介绍在Flask中模板渲染的步骤:
(1)加载HTML文件
Flask中使用render_template方法来加载HTML文件,HTML默认指向当前脚本同级目录templates下的文件
from flask import Flask
from flask import render_template # 创建一个应用
app = Flask(__name__) @app.route("/index/", methods=["GET", "POST"])
def index():
return render_template("index.html") if __name__ == '__main__':
app.run(host="127.0.0.1", port=5000, debug=True)
使用render_template方法前需要从flask将该方法导入,看下方源代码,template_folder参数的默认值为"templates",当浏览器访问路由"http://127.0.0.1:5000/index/"时,视图函数将返回脚本同级目录templates下的index.html文件,
def __init__(
self,
import_name,
static_url_path=None,
static_folder="static",
static_host=None,
host_matching=False,
subdomain_matching=False,
template_folder="templates",
instance_path=None,
instance_relative_config=False,
root_path=None,
):
(2)传递参数
a、常规传参
@app.route("/index/", methods=["GET", "POST"])
def index():
return render_template("index.html", name = "index")
b、解包传参
@app.route("/index/", methods=["GET", "POST"])
def index():
name = "index"
return render_template("index.html", **locals())
(3)进行渲染
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
这是一个{{name}}文件
</body>
</html>
前端页面接收后台传递变量的方式与Django模板系统一致
效果展示:

2、Flask静态文件
(1)静态文件介绍
静态文件指的是js文件、css文件、image图片等,在Flask当中,静态文件默认放在脚本同级的static目录下,如下源码所示,static_folder参数的默认值为"static"
def __init__(
self,
import_name,
static_url_path=None,
static_folder="static",
static_host=None,
host_matching=False,
subdomain_matching=False,
template_folder="templates",
instance_path=None,
instance_relative_config=False,
root_path=None,
):
(2)前端文件静态目录的修改
在原来静态文件路径的基础上在路径开头加上"/static/"
<link rel="shortcut icon" type="image/x-icon" href="/static/img/common/icon/ome.icon.linklogo.png">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link rel="stylesheet" href="/static/css/iconfont.css" />
<link rel="stylesheet" href="/static/css/ome.style.css" />
<link rel="stylesheet" href="/static/css/ome.style.dif.css" />
<link rel="stylesheet" href="/static/css/ome.index.css" />
Flask:Flask的模板系统和静态文件的更多相关文章
- Django 2.0 学习(13):Django模板继承和静态文件
Django模板继承和静态文件 模板继承(extend) Django模板引擎中最强大也是最复杂的部分就是模板继承了,模板继承可以让我们创建一个基本的"骨架"模板,它可以包含网页中 ...
- Django模板变量及静态文件引用
一.模板变量传递 1.视图向模板传递变量 视图中的列表,数组,字典,函数均可以传递给模板 在视图中定义变量通过render(content{‘name’ : value})传递给模板 模板通过{{ ...
- Django框架(二)—— 基本配置:app注册、模板配置、静态文件配置、数据库连接配置post和get
目录 app注册.模板配置.静态文件配置.数据库连接配置post和get 一.app 二.模板配置 三.静态文件配置 四.数据库连接配置 五.get请求和post请求 六.新手三件套 七.登录功能案例 ...
- Flask初级(四)flash在模板中使用静态文件
Project name :Flask_Plan templates: 默认设置下,Flask在程序根目录中名为static的子目录中寻找静态文件. 随便找个图片放进去把,命令test.png Fla ...
- Django框架——基础之模板系统(template文件夹)
---恢复内容开始--- 1. 常用语法 需要记住两组特殊符号:{{ }} 和 {% %}. 在运用到变量的时候使用{{ }},如果是跟逻辑相关的话就使用{% %}. 在Django模板(t ...
- Django-2- 模板路径查找,模板变量,模板过滤器,静态文件引用
模板路径查找 路径配置 2. templates模板查找有两种方式 2.1 - 在APP目录下创建templates文件夹,在文件夹下创建模板 2.2 - 在项目根目录下创建templates文件夹, ...
- Django(五)框架之模板继承和静态文件配置
https://www.cnblogs.com/haiyan123/p/7731959.html 一.模板继承 目的是:减少代码的冗余 语法: {% block classinfo %} {% end ...
- Django框架之模板继承和静态文件配置
一.模板继承 目的是:减少代码的冗余 语法: {% block classinfo %} {% endblock %} 具体步骤: 1.创建一个base.html文件,2.把要显示的页面的内容写在这里 ...
- Django框架----模板继承和静态文件配置
母板 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8& ...
随机推荐
- thymeleaf 遍历使用案例
1.语法: th:each属性用于迭代循环,语法:th:each="obj,iterStat:${objList}" 迭代对象可以是List,Map,数组等; 2.说明:iterS ...
- 【SQL server初级】SQL Server 2005 实现数据库同步备份 过程--结果---分析
数据库复制: 简单来说,数据库复制就是由两台服务器,主服务器和备份服务器,主服务器修改后,备份服务器自动修改. 复制的模式有两种:推送模式和请求模式,推送模式是主服务器修改后,自动发给备份服务器, ...
- python3连接MySQL实现增删改查
PyMySQL 安装 在使用 PyMySQL 之前,我们需要确保 PyMySQL 已安装. PyMySQL 下载地址:https://github.com/PyMySQL/PyMySQL. 如果还未安 ...
- [Python] 豆瓣电影top250爬虫
1.分析 <li><div class="item">电影信息</div></li> 每个电影信息都是同样的格式,毕竟在服务器端是用 ...
- [WP8.1]给Pivot的Header加上颜色
先上个效果图 以前想实现这个给Pivot加颜色时只找到8的,通过参考8的实现方式,8.1的实现如下,在Pivot的样式上做一些修改,如下图的红框处 另外如果要改Pivot的Header里文字的颜色又要 ...
- Scala 学习笔记之函数(2)
class OldStudent extends Student { def filterName(s: String, f: String => String) = { if (s != nu ...
- oracle之新建用户与授权
1.登录,口令为Oracle12c 2.新建用户 3.口令自己设置 4.按下图给角色授权,点击用用 5.登录刚刚创建的用户
- 2019滴滴java面试总结 (包含面试题解析)
2019滴滴java面试总结 (包含面试题) 本人6年开发经验.今年年初找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.滴滴等公司offer,岗位是既有php也有Java后端开发,最终选择去了滴滴 ...
- 一次对php大马的后门的简单分析
有人分享了一个php大马(说是过waf),八成有后门,简单分析了一次 <?php $password='Shiqi';//登录密码(支持菜刀) //----------功能程序--------- ...
- Neo4j:图数据库GraphDB(三)创建删除及高级操作
本片继续前几篇介绍图数据库的创建,有疑问可以我的看看前两篇文章:http://www.cnblogs.com/rongyux/p/5537206.html 四 图数据库的创建 1 创建一个节点 P ...