【DigiKey“智造万物,快乐不停”创意大赛】7-使用flask搭建简单web服务器
[复制链接]
python下有很多的web框架,搜索了一下,觉得flask可能比较简单,所以使用flask搭建一个简单的web服务器,实现数据库的数据显示。
FLASK安装
使用如下命令安装flask。
sudo apt-get install python3-flask
创建示例文件
先创建一个范例页面,看看是不是能够正常工作
创建一个总的文件夹,然后在文件夹下创建2个子文件夹和一个py文件,使用的命令如下
mkdir Helloworld
mkdir Helloworld/static
mkdir Helloworld/templates
touch server.py
创建如下的文件结构
然后再server.py中输入如下代码。
from flask import Flask
app = Flask(__name__)
@app.route ('/')
def hello_world():
return 'Hello world'
if __name__ == '__main__':
app.run(host='192.168.137.24',port=80,debug=True)
在终端中使用命令
运行上面的代码。之后在别的电脑上访问”192.168.137.24:80”就可以看到如下网页了
模板
如果想让页面上显示自定义的数据,就需要用到flask的模板功能。模板要用到render_template()函数,因此需要使用from flask import render_template语句引入相关函数。 模板功能就是将html里的一部分标签用特殊的语法代替。
比如变量用大括号包围
判断语句
{% if name %}
<h1>Hello {{ name }}!</h1>{% else %}
<h1>Hello, World!</h1>{% endif %}
循环语句
{% for item in navigation %}
<li><a href="{{ item.href }}">{{ item.caption }}</a></li>
{% endfor %}
注释
{# ... #}
模板的功能挺多了,比如能够继承自其它的模板。具体的使用方法可以参考下面的网址
在本例中要做的是输出所有的传感器ID,并且能够通过超链接跳转到相应的ID页面。
因此需要用循环的方式对传感器ID进行显示,也需要用到模板
<h1>设备列表</h1>
<ul>
{% for id in id_list %}
<li><a href="/device/{{id}}">{{id}}</a></li>
{% endfor %}
</ul>
|