zoukankan      html  css  js  c++  java
  • Python Flask框架

    Python有很多Web框架,可谓是百家争鸣,我这里列出几个比较叼的几个框架

    • Django      市场占有率最高,官方文档几近完美,但是适合比较大的项目,小项目会显得累赘。
    • Tornado    可异步,性能高,提供更多的底层细节,还能进行Web Socket,但是和数据库…..(大坑)
    • Web.py      小巧,精炼,扩展不是很多,而且问题是作者太牛掰,被上帝请去喝茶了。
    • Flask          年轻,2010年出现、可扩展、小巧、内置开发服务器和调试器、使用jinja2模板、完全兼容WSGI 1.0

    flask框架安装直接在pycharm里面下载就好,测试flask安装成功后,开始以下:

    Flask最最简单的一个页面

    from flask import Flask # 导入包
     
    app = Flask(__name__) # 创建一个Web应用
     
    @app.route('/') # 定义路由(Views),可以理解为定义页面的URL
    def index(): 
        return "Hello World" # 渲染页面
     
    if __name__ == "__main__":
        app.run(host='127.0.0.1',port=8080) # 运行,指定监听地址为 127.0.0.1:8080

    结果如下:

    点击 进入网页 可以看到 “Hello World”

    开启Debug调试

    修改了代码,我们需要将开启的Web程序关闭再开启,这样会影响开发效率,也很烦。

    Flask内部有一个功能,专门针对这样的事情发生。

    if __name__ == "__main__":
        app.run(host='127.0.0.1',port=8080,debug=True)

    debug参数,这个参数默认是False

    开启这个功能后,我们每次修改完代码,Web应用对自动进行调整。

    现在修改代码并且保存,应用就会自动更新你的代码。

    分析

     1 from flask import Flask  # 导入包
     2 
     3 app = Flask(__name__)  # 创建一个Web应用
     4 
     5 @app.route('/')  # 定义路由(Views),可以理解为定义页面的URL
     6 def index():
     7     return "Hello World"  # 渲染页面
     8 
     9 if __name__ == "__main__":
    10     app.run(host='127.0.0.1', port=8080)  # 运行,指定监听地址为 127.0.0.1:8080

    第3行:Flask需要一个参数,这个参数通常是主模块或是包的名字。所以通常会传入 __name__

    第5行:可以通过使用app.config类来修改配置,开启调试模式。当然,这里所采用的方法只能适用于设置很少的时候,以后会介绍另外几种修改配置的方法。

    第7行: 还记得我之前提到了MVC吗?这里就是其中V,就是路由。这里的代码的目的就是为我们来指定一个路由,也就是页面的地址。

    第8 – 9行: 使用app.route()装饰器会将URL和执行的视图函数(函数 index )的关系保存在app.url_map属性上。当你访问指定的URL时,就会调用这个函数。当遇到第一个return时,就会结束。其中的return就是你的response

    第12行: 执行app.run来启动服务器。默认的Flask会监听的地址是127.0.0.1:5000。我们指定host和port参数,就修改了监听地址。 服务启动后,会先判断参数host以及port是否为None,如果为None,就会将host和port修改为默认值。然后会判断debug。然后就会调用werkzeug.serving.run_simple来启动Web服务,默认会使用单进程的werkzeug.serving_BaseWSGIServer来处理客户端的请求。

    还要注意的就是,这里的app.run的启动方法,只适合在码代码的时候调试


    转载自:https://cuiqingcai.com/5888.html

     

  • 相关阅读:
    Navicat连接mysql出现10061/10060错误的解决
    对话守则
    一次Django admin bug解决的思维过程
    Think different
    SVN版本库的迁移
    Windows Phone 8 锁屏背景与通知
    Windows Phone 7 应用升级 Windows phone 8 方案预览 选择合适的 Key Feature
    从 windows phone7 到 windows phone 8 更新 如何设配两个版本
    windows phone 8 语音 Speech for Windows Phone 8
    windows phone 8 中的应用间通信
  • 原文地址:https://www.cnblogs.com/zhan1995/p/8945107.html
Copyright © 2011-2022 走看看