Flask:一个轻量级Web框架精灵的Python库!
说起Python Web开发,你肯定听过Django这个大块头。不过今天咱聊聊另一个有趣的小精灵 - Flask。它就像是一个迷你版的瑞士军刀,小巧玲珑但功能齐全。这个框架最吸引人的地方就是它的简单和灵活性,你想往里加啥功能都行,完全由你说了算。
装Flask贼简单,打开终端敲一行命令就搞定:
装完就能用了,就是这么爽快!
Flask写个网页真的超级简单,看看这段代码:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hey,老铁!这是我用Flask搭的第一个网站!'
if __name__ == '__main__':
app.run()
运行这段代码,打开浏览器输入就能看到结果啦。:>
温馨提示:别忘了把代码保存成 .py 文件再运行哦,直接在解释器里敲可不行。
路由就是告诉Flask:访问不同的网址该显示啥内容。咱们来整几个好玩的:
@app.route('/user/<name>')
def user(name):
return f'嘿!{name},欢迎来到我的网站!'
@app.route('/square/<int:number>')
def square(number):
return f'{number}的平方是{number * number}'
看到这个 <name>
和 <int:number>
没?这就是 动态路由 ,可以接收用户输入的值。
光返回字符串多没意思,Flask可以返回整个HTML页面:
from flask import render_template
@app.route('/page')
def show_page():
my_list = ['Python', 'Flask', 'Web开发']
return render_template('page.html', title='我的页面', items=my_list)
对应的HTML模板(page.html):复制
<!DOCTYPE html>
<html>
<head>
<title>{{ title }}</title>
</head>
<body>
<ul>
{% for item in items %}
<li>{{ item }}</li>
{% endfor %}
</ul>
</body>
</html>
刷新新标签页
分享温馨提示:模板文件要放在templates文件夹下,不然Flask找不着。
来点实用的,写个小表单:
from flask import request
@app.route('/submit', methods=['GET', 'POST'])
def submit():
if request.method == 'POST':
user_name = request.form.get('name')
return f'表单提交成功!你好,{user_name}!'
return '''
<form method=“post”>
<input type=“text” name=“name”>
<input type=“submit” value=“提交”>
</form>
'''
这段代码能处理GET和POST请求,还能获取表单数据,酷不酷?
Flask本身不带数据库,但可以配合SQLAlchemy来用:
from flask_sqlalchemy import SQLAlchemy
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), nullable=False)
搞定!这就创建了个简单的用户表。
说了这么多,Flask真的是个挺有意思的框架。它不像Django那样大而全,但正因为这样,反而更容易上手,更适合小项目。写代码的时候,你会发现它特别顺手,就像跟多年的老朋友聊天一样自然。
不过记住啊,代码一定要规范,该加注释的地方得加注释,该处理异常的地方别偷懒。这样写出来的项目才经得起时间的考验!