渲染模版(html文件)

A、模版文件(html)放入到template目录下,项目启动的时候会从template目录里查找,

B、从flask中导入“render_tempalte”函数

C、在视图函数中,使用render_template函数,渲染模版(只需要填写模版名称即可)

示例:

from flask import Flask,url_for,redirect,render_template      #导入模版函数

app = Flask(__name__)

@app.route('/')
def index():
info = {                    #定义字典
'username' :'name',
'gender':"man",
'height' : "178"
}
  
  #如果有多个参数,可以将所有的参数放到字典中,然后以**kwargs的方式传递进去,info为上面定义的字典
return render_template('index.html',**info)      #这里直接写模版文件名称,如果在模版文件在temlate/html目录下,则这里需要写'html/index.html'
     #渲染模版,传参数,如果参数较少,可以直接写关键字参数及值,如下:
  #return render_template('index.html',username='name',gender="man",height="178") if __name__ == '__main__': app.run(debug=True) if __name__ == '__main__':
app.run(debug=True)

  

index.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<p>第一个flask页面</p>
<p>姓名:{{ username }}</p>              #使用{{}}用来使用变量
<p>height:{{ height }}</p>
</body>
</html>

模版中的变量说明,示例:

flask_one.py

#encoding:utf-8
from flask import Flask,url_for,redirect,render_template app = Flask(__name__) @app.route('/')
def index():
class Person(object):
name='tttt'
age=18 p = Person()
info = {
'username' :'name',
'gender':"man",
'height' : "",
'person':p,
'city':{
'bj':"bj",
'tj':'tj'
} }
return render_template('index.html',**info)
#return render_template('index.html',username='name',gender="man",height="178") if __name__ == '__main__':
app.run(debug=True) index.html <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<p>第一个flask页面</p>
<p>姓名:{{ username }}</p>
<p>height:{{ height }}</p>
<hr>
<p>{{ person.name }}---{{ person.age }}</p>    #此处对应上面py中定义的Person类
<p>{{ city.bj }}</p>                  #此处对应字典内的字典,一共两种取值方式,一是常规的字典取值,二是用"." 
<p>{{ city['tj'] }}</p>
</body>
</html>

 

flask 渲染jinja2模版和传参的更多相关文章

  1. 微信小程序——动态渲染页面、路径传参

      1.动态渲染页面.改变css.样式必须setData渲染过去   this.setData({ userInfo: app.globalData.userInfo, token: app.glob ...

  2. Flask初学者:URL(传参,请求,重定向)

    URL传参: 良好的URL:视图函数对应的url以/结尾是一种良好url,因为用户在访问的时候无论他有没有加上最后这个斜杠,都是能访问到的,相反,视图函数的url没有以/结尾,用户访问的时候却加上了这 ...

  3. Flask的Jinja2模版过滤器

    Jinja2模版过滤器 过滤器是通过管道符号(|)进行使用的,例如:{{ name|length }},将返回name的长度.过滤器相当于是一个函数,把当前的变量传入到过滤器中,然后过滤器根据自己的功 ...

  4. flask学习(六):URL传参

    1. 参数的作用:可以在相同的URL,但是指定不同的参数,来加载不同的数据 例如:简书上每一篇文章前面的URL相同,只是后面的参数不同 2. 在flask中如何使用参数: 注意: 1) 参数需要放在两 ...

  5. 2.flask模板--jinja2

    1.jinja2模板介绍和查找路径 import os from flask import Flask, render_template # 之前提到过在渲染模板的时候,默认会从项目根目录下的temp ...

  6. 5 JInja2模版(适用于Django和Flask)

    模版 在生产环节下,我们要把后端程序(其实就是python)计算出来的数据和html页面结合起来做,这个时候模版就派上大用处了. Flask下的模版---Jinja2 Jinja是日本寺庙的意思,并且 ...

  7. flask开启debug模式的两种方法、加载配置文件的两种方法、URL传参的四种方法

    from flask import Flask app = Flask(__name__) # app.config.update(DEBUG=True)#开启debug模式 #加载配置文件方法一 # ...

  8. 2、Flask实战第2天:URL传参

    当我们访问网站/的时候,会执行hell_world函数,并把这个函数的返回值返回给浏览器,这样浏览器就显示hello world了 @app.route('/') def hello_world(): ...

  9. magento controller直接渲染Block 以及传参

    class Jago_Deal_IndexController extends Mage_Core_Controller_Front_Action { public function ajaxActi ...

随机推荐

  1. C语言实现字符串逆序输出

    方法一: #include <stdio.h> #include <stdlib.h> #include <string.h> void Reverse(char ...

  2. 了解AutoCAD对象层次结构 —— 5 —— 块表

    为了清楚的了解块表的组成内容,让我们利用MgdDbg工具查看一下块表中的块表记录.在开始页面,以无样板模式新建一个.dwg文件(图 4‑7(1)),这样的话,默认的块表记录只有3条(图 4‑7(2)) ...

  3. Java中的getGenericSuperclass的基本用法

    通过getGenericSuperclass方法可以获取当前对象的直接超类的Type,使用该方法可以获取到泛型T的具体类型 package cn.tzz.lang.clazz; public clas ...

  4. python 模块之-json

    python 模块json import json x="[null,true,false,1]" print(json.loads(x))   #---------------- ...

  5. Codeforces986E Prince's Problem 【虚树】【可持久化线段树】【树状数组】

    我很喜欢这道题. 题目大意: 给出一棵带点权树.对每个询问$ u,v,x $,求$\prod_{i \in P(u,v)}gcd(ai,x)$.其中$ P(u,v) $表示$ u $到$ v $的路径 ...

  6. Minimum number of steps CodeForces - 805D(签到题)

    D. Minimum number of steps time limit per test 1 second memory limit per test 256 megabytes input st ...

  7. iis默认文档

    环境 W10 IIS10 输入网址后,显示一个默认首页,在IIS中,一般指定一个根目录下的文件例如index.html 如果要指定子目录下的文件, 例如让 /home/index.html 这个文件成 ...

  8. 540. Single Element in a Sorted Array

    题目大意: 给你一个由小到大排好序的数组,里面只有一个数出现了一次,其他数都出现了两次,要求找出那个只出现一次的数,而且时间复杂度为O(logn) 题目思路: 说实话一开始没想到,因为几乎每个数都出现 ...

  9. nginx日志分析 GoAccess

    也可以生成json:goaccess -q -f web.log -a -p /home/yejianfeng/.goaccessrc -o json >test.json 和csvgoacce ...

  10. luogu1608 路径统计 (spfa)

    题意:给一个有向图(无零边),要求找出最短路的数量(重边只计算一次) 做spfa的时候,记一个cnt对于u-w->v如果dis[u]+w=dis[v],cnt[v]+=cnt[u] 如果dis[ ...