flask第二十篇——模板【3】

现在我们通过查询字符串的方式给render_template传参,我们就要用到flask库的flask.request.args.get()函数先获取参数,在index.html中给url_fornext,最后在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)

另外两个文件不变,然后执行代码:

点击“链接到登录页面”后:

原文发布于微信公众号 - 自动化测试实战(gh_839e78b6ba28)

原文发表时间:2018-04-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏地方网络工作室的专栏

Python3 初学实践案例(4)可设定长度和密码复杂级别的生成密码脚本

Python3 初学实践案例(4)可设定长度和密码复杂级别的生成密码脚本 在学习 python 的第一次实战中,我就完成了一个生成密码的脚本。原文链接:http...

22210
来自专栏开源优测

接口测试 | 25 requests + pytest测试实例

概述 本文主要分享如何将pytest和requests结合一起使用,让大家有个初步的了解。 主要内容有: pytest简介 pytest + requests示...

6429
来自专栏AILearning

多线程的基础学习

进程:是一个正在执行中的程序, 每一个进程执行都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单元。 线程:是进程中的一个独立的控制单元, 线程在控制中进...

1857
来自专栏码农阿宇

visual studio编写C#代码时“未能从程序集.....中加载类型”和“找不到方法”的一种可能的解决办法

编译前报错:$exception    {"未能从程序集“XSW.MySQLDAL, Version=1.0.0.0, Culture=neutral, Pub...

3576
来自专栏菩提树下的杨过

bash/shell编程学习(2)

注:linux中有一个经典名言【一切皆文件】,/dev/null可以认为是一个特殊的空文件,更形象点,可以理解为科幻片中的黑洞,任何信息重向定输出到它后,便有去...

813
来自专栏面朝大海春暖花开

微信小程序setData()对数组的操作

但是对于数组而言,再直接修改一个完整的数组显得有些多余,首先写着不简易,其次效率很是滴。

4875
来自专栏老九学堂

Java微课堂之基本选择结构2

本节讲解知识点回顾 ? ? ? 本节编程技巧和注意事项 条件选择结构关于分号和大括号什么时候可以打,什么时候不用打,它的意义是不同的。

2806
来自专栏郭耀华‘s Blog

Python 中的 if __name__ == '__main__' 该如何理解

1984
来自专栏乐享123

How to Parallel All Cmds for Linux

1474
来自专栏阮一峰的网络日志

EOF是什么?

我学习C语言的时候,遇到的一个问题就是EOF。 它是end of file的缩写,表示"文字流"(stream)的结尾。这里的"文字流",可以是文件(file)...

3683

扫码关注云+社区

领取腾讯云代金券