学习时间:9:00——11:00 15:00——17:20
Flask入门
Flask诞生于2010年,是Armin ronacher(人名)用Python语言基于Werkzeug工具箱编写的轻量级Web开发框架。它主要面向需求简单的小应用。
Flask本身相当于一个内核,其他几乎所有的功能都要用到扩展(邮件扩展Flask-Mail,用户认证Flask-Login),都需要用第三方的扩展来实现。Flask没有默认使用的数据库,可以选择MySQL,也可以用NoSQL。其WSGI工具箱采用Werkzeug(路由模块),模板引擎则使用Jinja2。
可以说Flask框架的核心就是Werkzeug和Jinja2。
Python最出名的框架要数Django,此外还有Flask、Tornado等框架。虽然Flask不是最出名的框架,但是Flask应该算是最灵活的框架之一,这也是Flask受到广大开发者喜爱的原因。
Flask比较小,可以帮助更好地入门,但也有弊端就是功能不全,有需求得自行安装扩展包
Flask扩展包:
- Flask-SQLalchemy:操作数据库;
- Flask-migrate:管理迁移数据库;
- Flask-Mail:邮件;
- Flask-WTF:表单;
- Flask-script:插入脚本;
- Flask-Login:认证用户状态;
- Flask-RESTful:开发REST API的工具;
- Flask-Bootstrap:集成前端Twitter Bootstrap框架;
- Flask-Moment:本地化日期和时间;
初始代码如下:
from flask import Flask
app = Flask(__name__)
#路由解析,通过用户访问的路径,匹配相应的函数
@app.route('/')
def hello_world(): # put application's code here
return 'hello!'
if __name__ == '__main__':
app.run(debug=True) #debug默认关闭,开启后可以实时更新网站内容
pycharm社区版貌似直接在app.run()内添加debug = True即可开启debug,专业版需要点击附近的倒三角找到编辑配置,并打√才能开启
通过访问路径,获取用户的参数:
from flask import Flask
app = Flask(__name__)
#路由解析,通过用户访问的路径,匹配相应的函数
@app.route('/user/')
def hello_world(name): # put application's code here
return 'hello!'+f"{name}"
if __name__ == '__main__':
app.run(debug=True)
路由路径不能重复,用户通过唯一路径访问特定函数
from flask import Flask,render_template #导入render_template渲染网页
import datetime
app = Flask(__name__)
#路由解析,通过用户访问的路径,匹配相应的函数
@app.route('/')
def hello_world(): # put application's code here
time = datetime.date.today()
return render_template("index.html", var = time) #传递的一般变量用var
if __name__ == '__main__':
app.run(debug=True)
导入render_template后在templates文件中新建html文件
Title
今天是{{ var }},hello! #注意一般变量用双层大括号括起来!!!
from flask import Flask,render_template
import datetime
app = Flask(__name__)
#路由解析,通过用户访问的路径,匹配相应的函数
@app.route('/')
def hello_world(): # put application's code here
time = datetime.date.today()
name = ['fancy','Mike','John']
return render_template("index.html", var = time,name_list = name)
if __name__ == '__main__':
app.run(debug=True)
Title
今天是{{ var }},hello!
#
为换行
今天的卷王是:
{% for data in name_list %} #控制语句用{% %}括起来!!!!
{{ data }} #一般变量仍用{{ }}括起来
{% endfor %} #for循环要加上结束语句
豆瓣top250首页制作
from flask import Flask,render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template("index.html")
@app.route('/index')
def home():
# return render_template("index.html")
return index()
@app.route('/movie')
def movie():
return render_template("movie.html")
@app.route('/score')
def score():
return render_template("score.html")
@app.route('/word')
def word():
return render_template("word.html")
@app.route('/team')
def team():
return render_template("team.html")
if __name__ == '__main__':
app.run()
Mamba
豆瓣电影Top250数据分析 应用python爬虫、Flask框架、Echarts、WordCloud等技术实现
250 经典电影
1评分统计
5693词汇统计
1团队成员



