• 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这样在随意修改网页信息时就不用重新启动服务了


  • 相关阅读:
    ubuntu lock
    ubuntu 源
    ubuntu server版 ssh配置有时没有sshd_config文件或者空文件的情况
    pip3 install tensorflow==2.2
    tensorflow安装提示load 失败
    wXgame上某游戏封包分析
    lazarus 使用微软detour库 delphi
    dll函数导出
    Error: Duplicate resource: Type = 24, Name = 1, Lang ID = 0000
    Tests run: 3, Failures: 0, Errors: 3, Skipped: 0, Time elapsed: 0.065 s <<< FAILURE!
  • 原文地址:https://www.cnblogs.com/sashao/p/10145297.html
Copyright © 2020-2023  润新知