• 初识Flask


    Flask简介

          Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,微框架中的“微”意味着 Flask 旨在保持核心简单而易于扩展。默认情况下,Flask 不包含数据库抽象层、表单验证,或是其它任何已有多种库可以胜任的功能。然而,Flask 支持用扩展来给应用添加这些功能,如同是 Flask 本身实现的一样。众多的扩展提供了数据库集成、表单验证、上传处理、各种各样的开放认证技术等功能。
         Flask 繁多的配置选项在初始状况下都有一个明智的默认值,并会遵循一些惯例。 例如,按照惯例,模板和静态文件分别存储在应用 Python 源代码树下的子目录 templates 和 static 里。虽然这个配置可以修改,但你通常不必这么做, 尤其是在刚开始学习的时候。

    1、安装Flask

    pip3 install  Flask   // 由于我的环境是2.7和3.7并存,我这里使用3.7进行操作。我安装的是Flask 1.0.3

    2、新建项目

    这里我们随便的新建一个Python项目即可。

    3、一个简单的Hello World

    from flask import Flask
    
    testApp = Flask('__name__')  # 实例化一个对象
    
    @testApp.route('/index')  # 创建一个路由
    def index():    # 创建一个视图函数
        return 'Hello World'     # 返回一个HttpResponse
    
    testApp.run()  # 运行项目

    运行程序,会出现像下面这张图片一样:

    4、使用render_template返回一个页面

    4.1在项目下新建一个名为templates的文件夹

    4.2在templates文件夹下新建一个index.html,页面中仅显示<h1>Hello Flask</h1>

    4.3修改主文件代码如下:

    from flask import Flask,render_template   # 导入模块
    
    testApp = Flask('__name__')  # 实例化一个对象
    
    @testApp.route('/index')  # 创建一个路由
    def index():   # 创建一个视图函数
        return render_template('index.html')   # 返回一个页面
    
    testApp.run()  # 运行项目

    最终项目结构看起来像下面这样:

    4.4运行项目,如果一切顺利你会看到如下页面:

    注意:也许你会发现render_template('index.html') 中的index.html有警告,但是不会影响程序的正常运行,在index.html页面中使用模板语法for、if等时没有语法提示,我们可以按照如下操作来解决这两个问题。

    设置完成后即可消除报警,并在templates文件夹下的所有HTML页面中提示模板语法。

    5、使用redirect重定向页面

    from flask import Flask,render_template,redirect
    testApp = Flask('__name__')  # 实例化一个对象
    @testApp.route('/index')  # 创建一个路由
    def index():   # 创建一个视图函数
        return render_template('index.html')   # 返回一个页面
    
    @testApp.route('/goto')  # 创建一个路由
    def goto_index():   # 创建一个视图函数
        return redirect('/index')   # 重定向到一个页面
    
    testApp.run()  # 运行项目

    重定向成功后你会看到如下页面:

  • 相关阅读:
    maven 构建 war文件&&Glassfish运行+部署war文件+访问(命令行模式)
    配置Glassfish服务器、部署Java web项目、Maven安装配置及JDK版本匹配性问题
    配置apache-maven-3.6.0时所遇到的坑(二)
    配置apache-maven-3.6.0时所遇到的坑(一)
    对Functional Language的认识
    论Injection的前世今生
    简单实现美团手机版应用源码
    WindowsPhone8可缩放图片控件的实现
    MallBuilder 多用户商城管理系统 v5.8.1.1
    Windows Phone 带文本信息的进度条
  • 原文地址:https://www.cnblogs.com/caesar-id/p/10952139.html
Copyright © 2020-2023  润新知