如何把数据加载到python flask的模板中展示

在制作flask的小型web的时候遇到一个问题,怎样在前端展示我需要展示的数据?

有一种方法是js代码加载本地json文件,然后把它转化成js数组的格式。不过查过N篇js加载本地json文件的例子,然而并没有一篇有用,原因是flask的界面进过了render_template()的映射,已经在服务器上了,不能再加载本地路径。而且根据MVC分层的话,在前端界面只应该有展示数据的功能,不应该有读取数据这种复杂操作。数据应该从后台送往html界面。

第二种方法:通过render_template传递数据。

示例如下:

后端代码:

@app.route('/boke')
def boke():
    str = "hello"
    li = [1,2,3,4]
    return render_template('boke.html',str=str,li=li)

这里在render_template()函数里面传了两个参数,这个参数是可以任意多个,且可以任意命名的,因为这个函数的原型是一个可变参数。然后在html端通过{{ value }}来访问变量,{{% for i in list%}}来执行py语句,这就是jinja的模板的功能。

如下html界面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    {{ str }}<br>
    {{ li }}
</body>
</html>

可以看到我在body中展示了两个变量,结果如下:

当然这是最简单的一个例子。一般大数据量的话,最好存储在json格式中,不过在前后端传json格式可能会有问题,比如出现:

&#39;&#39;此类符号,解决方案如下:

扫描二维码关注公众号,回复: 2303645 查看本文章

https://blog.csdn.net/lwgkzl/article/details/81148749

猜你喜欢

转载自blog.csdn.net/lwgkzl/article/details/81148495