Flask入门(二)

通过上篇初步了解python的三大框架之一Flask。

补充:

列出pip已经安装好的模块:

pip freeze

Flask框架下常用的扩展包:

Flask-SQLalchemy:操作数据库;

Flask-script:插入脚本;

Flask-migrate:管理迁移数据库;

Flask-Session:Session存储方式指定;

Flask-WTF:表单;

Flask-Mail:邮件;

Flask-Bable:提供国际化和本地化支持,翻译;

Flask-Login:认证用户状态;

Flask-OpenID:认证;

Flask-RESTful:开发REST API的工具;

Flask-Bootstrap:集成前端Twitter Bootstrap框架;

Flask-Moment:本地化日期和时间;

Flask-Admin:简单而可扩展的管理接口的框架

代码如下:


# -*- encoding: utf-8 -*-
#导包
#导包 导入重定向模块
#url_for是简易寻址跳转
from flask import Flask
#建立flask对象
from flask import redirect,url_for,jsonify


#使用flask路由器,制定网址和控制器
app = Flask(__name__)

#方法1
@app.route('/')
def index():
return "指定的网址里想输出的内容"

#方法2
#给网址增加参数功能使用<变量名>,路由方法要和路由定义的参数同步
#方法一中我们还可以加入参数 加入参数时用'<>'
#注意:①是"/"分割 不是","
    #②我们加入几个参数,就要传进几个参数 用","相隔
@app.route('/hello/<id>/<name>')
def hello(id,name):
return "传入的第一个参数是%s,第二个参数是%s"%(id,name)


#使用重定向模块来进行跳转,在重定向跳转首先要导入一个包:redirect
#在这里你传的什么 在你网址的末尾就加入什么
@app.route("/1") 
def reule():
#注意:书写的格式,后边的"/"不能丢
return redirect('http://127.0.0.1:5000/')

#使用url_for方法来实现简易的站内跳转,参数指定路由方法名称
@app.route('/2')
def reurl_in():
#return 返回 url_for后边是方法名 不是网址
return redirect(url_for('index'))


#使用jsonify模块让网页直接显示json数据
@app.route('/json')
def re_json():
#定义好数据格式
json_dict={'id':10,'title':'flask的应用','content':'flask的json格式'}
#使用jsonify来将定义好的数据转换成json格式,并返回给前端
#return 返回的是二进制码,需要解码
return jsonify(json_dict)
复制代码

下面来说说两个前置访问和两个后置访问:

在第一次请求之前调用的方法
#前置访问①
#这里的第一次是指启动服务后的第一次访问 以后不会重复 除非重启服务 可以刷新几次和重启服务试试
@app.before_first_request
def before_first_request():
print('这是第一次请求之前调用')

#前置访问②
#在每一次请求之前调用
#每请求一次就调用显示一次 你可以多刷新几次试一试
@app.before_request
def before_request():
print('每一次调用这个方法')

下面这是两个后置访问,特殊的是它们带参数

#后置访问①
#在请求之后调用的发方法,调用之后必须传响应参数,然后将响应内容返回
@app.after_request
def after_request(response):
print('在请求之后,调用这个方法')
return response
#这里一定要记住返回参数

#后置访问②
#在请求之后,调用服务器出现的错误信息
#在发生错误 意外情况 的时候抛出错误 方便查找
@app.teardown_request
def teardown_request(e):
print('服务器出现的错误是%s'% str(e))
#这里你要把抛出的错误转换成字符串显示出来
# 使用程序入口将flask应用启动,port参数
if __name__ == "__main__":
app.run(debug=True,port=5000)
#这里指定进入debug模式,默认为False 这里设置为True
#poot=5000 为防止端口重复 我们可以设置没有用过的端口来搭建自己的服务,debug=True这样在随意修改网页信息时就不用重新启动服务了

一句自己喜欢的话和大家分享:
上人生的旅途罢。前途很远,也很暗。然而不要怕。不怕的人的面前才有路。

猜你喜欢

转载自blog.csdn.net/weixin_44462582/article/details/86140547