Python Web 框架 Flask的最基本使用
首先还是第三方库Flask的安装;终端执行pip install flask即可
import flask
导入包后创建flask对象
app = flask.Flask(__name__)
注意:括号中的_ _name__参数需要自己添加
再用创建好的对象指定网页访问路径
@app.route('/')
def index():
return '<h1>Hello Flask!</h1>'
上述表示根路径,即访问给定的host指向的页面
if __name__ == '__main__':
app.run(host='10.7.178.89'(本机IP), port=8000, debug=True)
运行上述代码即可获取到该页面URL,点击打开可以看到前端页面的‘Hello Flask’
想让页面上显示什么就在return里面返回什么。
下面是一个例子
python文件目录:
创建与文件夹命名建议使用同图中相同!
运行结果:
点击该URL即可访问刚刚写的页面
页面效果:
(不会前端所以页面布局很丑)
核心代码
python
def index():
pictures = ['mangosteen','durian','pitaya','apple','watermelon','strawberry','pineapple']
names = ['山竹', '榴莲', '火龙果', '苹果', '西瓜', '草莓', '菠萝']
fruits = [{'name':names[i], 'picture':f'{pictures[i]}.png'} for i in range(len(names))]
selected_fruits = random.sample(fruits, k=3)
try:
with connection.cursor() as cursor:
fruits_detail = []
affected_rows = cursor.execute(
'select fruit_name,fruit_detail from tb_fruits'
)
aff = cursor.fetchone()
while aff:
fruits_detail.append({'name':aff[0],'detail':aff[1]})
aff = cursor.fetchone()
connection.commit()
except pymysql.MySQLError as err:
connection.rollback()
print(err)
return render_template('index.html',fruits = selected_fruits,details = fruits_detail)
HTML
{%for fruit in fruits%}
<li>
<img src="/static/images/{{fruit.picture}}" width="32">
<span>
{{fruit.name}}
<p style="font-family: 仿宋">
{%for detail in details%}
{%if detail.name == fruit.name%}
Tips:{{detail.detail}}
{%endif%}
{%endfor%}
</p>
</span>
</li>
{% endfor %}
上述代码通过连接数据库实现了数据的动态展示,刷新页面后会显示随机不同的三个推荐水果。