Flask框架(快速入门)

    毕业设计是一个社交博客,选择了Flask框架,这里是总结下对Flask框架的学习。

    Flask框架是一个微框架,开发的理念就是设计一个可扩展的Web框架,它具有一个包含基本服务的强健核心,其他功能可通过扩展实现。所以开发者可以自己挑选所需的扩展包。

    Flask的核心就是基于Werkzeug提供的Web服务器网关接口(WSGI)和Jinja提供的模板系统。但是Flask没有原生的数据库访问,Web表单验证和用户验证等高级功能,这些功能都以扩展包提供,开发者可以任意挑选符合项目需求的扩展,也可以自己进行开发,这就和其他大型框架的做法相反,大型框架往往已近替你做了大多数选择,难以使用替代方案。

    Flask最重要的参考资料是其简洁的文档:Flask。

     1 程序的基本结构

    我们以Hello  World开始

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()

    文档对这个程序做背后的运行解释是:

  1. 首先,我们导入了 Flask 类。这个类的实例将会是我们的 WSGI 应用程序。
  2. 接下来,我们创建一个该类的实例,第一个参数是应用模块或者包的名称。 如果你使用单一的模块(如本例),你应该使用 __name__ ,因为模块的名称将会因其作为单独应用启动还是作为模块导入而有不同( 也即是 '__main__' 或实际的导入名)。这是必须的,这样 Flask 才知道到哪去找模板、静态文件等等。详情见 Flask的文档。
  3. 然后,我们使用 route() 装饰器告诉 Flask 什么样的URL 能触发我们的函数。
  4. 这个函数的名字也在生成 URL 时被特定的函数采用,这个函数返回我们想要显示在用户浏览器中的信息。
  5. 最后我们用 run() 函数来让应用运行在本地服务器上。 其中 if __name__ =='__main__': 确保服务器只会在该脚本被 Python 解释器直接执行的时候才会运行,而不是作为模块导入的时侯

   2 模板(mvc)

        对于上面的hello world 来说,业务逻辑和表现逻辑混合在了一起,这样会导致代码很难维护,所以我们必须要用到模板,模板是一个包含响应文本的文件,其中包含用占位变量表示动态部分,其具体值只在请求上下文中才知道。使用真实值替代变量,再返回最终得到的响应字符串,这一过程称为渲染。Flask提供了强大的模板引擎Jinja2.

    默认情况下,Flask在程序文件夹中的templates子文件夹中寻找模板。

from flask import render_template

@app.route('/')
def hello_world():
    return render_template('hello.html')

    Jinja2提供了变量,变量过滤器和控制结构甚至继承等:具体的文档参考:Jinja2

   对于Flask来说,其核心就是WSGI实例app和Jinja2提供的模板引擎。其他都基于第三方模块来开发。




你可能感兴趣的:(Flask,python)