flask第二十篇——模板【3】
请关注公众号:自动化测试实战
现在我们通过查询字符串的方式给render_template
传参,我们就要用到flask
库的flask.request.args.get()
函数先获取参数,在index.html
中给url_for
传next
,最后在login.html
函数中通过{{ next }}
传值。代码如下:
rendertemplateDemo.py
文件
# coding: utf-8 from flask import Flask, render_template
import flask app = Flask(__name__) # type: Flask
app.debug = True @app.route('/')
def hello_world(): title = {"tPrize": "key",
"info": {"name": u"Warren",
"age": 18,
"gender": u"男"},
"val": {"title": u'标题',
"content": u'内容'}}
return render_template('post/index.html', **title) @app.route('/login/')
def login(): next = flask.request.args.get('next')
return render_template('login.html', next=next) if __name__ == '__main__':
app.run()
index.html
文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>这里是title</title>
</head>
<body> {# <p>这段代码被注释了</p>#}
<p>{{ info }}</p>
<a href="{{ url_for('login', next='首页') }}">链接到登录页面</a>
</body>
</html>
login.html
文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录页面</title>
</head>
<body>
这是登录页面,它来自{{ next }}。
</body>
</html>
然后执行代码,看到:
点击“链接到登录页面”后:
如果你想指定传值类型是path
类型,那么就要给login
函数传值了:
修改rendertemplateDemo.py
文件的login
函数如下:
@app.route('/login/<next>/')
def login(next): # next = flask.request.args.get('next')
return render_template('login.html', next=next)
另外两个文件不变,然后执行代码:
点击“链接到登录页面”后:
flask第二十篇——模板【3】的更多相关文章
- flask第二十三篇——模板【5】过滤器
请关注微信公众号:自动化测试实战 过滤器——format格式化 flaskDemo.py # coding: utf-8 from flask import Flask, render_templat ...
- Python之路【第二十篇】:待更新中.....
Python之路[第二十篇]:待更新中.....
- Python开发【第二十篇】:缓存
Python开发[第二十篇]:缓存redis&Memcache 点击这里 Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy ...
- Egret入门学习日记 --- 第二十篇(书中 9.1~9.3 节 内容 组件篇)
第二十篇(书中 9.1~9.3 节 内容 组件篇) 第八章中的内容. 以上都是基本的Js知识,我就不录入了. 直接来看 第9章. 开始 9.1节. 以上内容告诉你,Egret官方舍弃了GUI,使用了E ...
- flask 第四篇 模板语言jinja2
是时候开始写个前端了,Flask中默认的模板语言是Jinja2 现在我们来一步一步的学习一下 Jinja2 捎带手把 render_template 中留下的疑问解决一下 首先我们要在后端定义几个字符 ...
- flask第二十二篇——模板【4】过滤器
请关注微信公众号:自动化测试实战 先来教大家一个pycharm设置默认模板的方法.我们每次新建模板或者平时写代码打开以后可能都要重复写# coding: utf-8这些代码,其实我们可以设置好模板,让 ...
- flask第二十六篇——模板【控制语句】【2】
如果你也在学flask,就请加船长的公众号:自动化测试实战 我们先补充一下for循环的知识,我们之前说过,flask是由Jinja2+sqlAlchemy+werkzeug组成的,我们现在学的控制语句 ...
- flask第二十四篇——模板【6】自定义过滤器
请关注孟船长的公众号:自动化测试实战 大家想了解其他过滤器可以参考这里: http://jinja.pocoo.org/docs/dev/templates/#builtin-filters ---- ...
- flask第二十五篇——控制语句
有兴趣的请加船长公众号:自动化测试实战 先和大家强调一个发邮件的问题 # coding: utf-8 import smtplib from email.mime.text import MIMETe ...
随机推荐
- SOA和SaaS的区别
SOA,Service Oriented ArchITecture,面向服务的架构 SaaS,Software as a Service https://blog.csdn.net/chenyi888 ...
- Sql Server中的DBCC命令详细介绍
一:DBCC 1:什么是DBCC 我不是教学老师,我也说不到没有任何无懈可击的定义,全名:Database Console Commands.顾名思义“数据库控制台命令”,说到“控制台“,我第一反应就 ...
- Java里\r \n \t
\t 相当于tab,缩进 \n 回车 \r 换行 使用来格式化输出的,如:System.out.printf("11111\t2222222");上面的输出的效果就是在11111与 ...
- CentOS查看CPU、内存、版本等系统信息
CentOS查看系统信息 一:查看CPU more /proc/cpuinfo | grep "model name" grep "model name" /p ...
- C# 过滤HTML,脚本,数据库关键字,特殊字符
/// <summary> /// 过滤标记 /// </summary> /// <param name="NoHTML">包括HTML,脚本 ...
- 纯css做三角形形状
/* create an arrow that points up */ div.arrow-up { width:0px; height:0px; border-left:5px solid tra ...
- S16课件
Python之路,Day1 - Python基础1 介绍.基本语法.流程控制 Python之路,Day2 - Python基础2 列表.字典.集合 Python之路,Day3 - Python基础3 ...
- python:打包成exe程序
1.需要安装 py2exe 2.示例代码: #exetest.py #创建一个gui界面,只用一个标签和按钮,无功能 from Tkinter import * win = Tk() label = ...
- 一点记忆—— Java框架知识的学习有感
一点记忆—— Java框架知识的学习有感 说一下自己学习的框架知识的历程吧:好久了,应该是一年前,也就是大三上的时候,我对于基本的 Java编程就已经达到所谓的“熟练”,认为自己可以在 ...
- URAL 1557 Network Attack 图论,连通性,tarjain,dfs建树,分类讨论 难度:2
http://acm.timus.ru/problem.aspx?space=1&num=1557 1557. Network Attack Time limit: 2.0 secondMem ...