flask 订阅
Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。 [1] 展开全文
Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。 [1]
信息
核心语言
python
授    权
BSD 授权
特    点
使用简单的核心
中文名
Flask
也被称
“microframework”
外文名
Flask
Flask简介
Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,开发人员分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或Web服务的实现。另外,Flask还有很强的定制性,用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。Flask是目前十分流行的web框架,采用Python编程语言来实现相关功能。它被称为微框架(microframework),“微”并不是意味着把整个Web应用放入到一个Python文件,微框架中的“微”是指Flask旨在保持代码简洁且易于扩展,Flask框架的主要特征是核心构成比较简单,但具有很强的扩展性和兼容性,程序员可以使用Python语言快速实现一个网站或Web服务。一般情况下,它不会指定数据库和模板引擎等对象,用户可以根据需要自己选择各种数据库。Flask自身不会提供表单验证功能,在项目实施过程中可以自由配置,从而为应用程序开发提供数据库抽象层基础组件,支持进行表单数据合法性验证、文件上传处理、用户身份认证和数据库集成等功能。Flask主要包括Werkzeug和Jinja2两个核心函数库,它们分别负责业务处理和安全方面的功能,这些基础函数为web项目开发过程提供了丰富的基础组件。Werkzeug库十分强大,功能比较完善,支持URL路由请求集成,一次可以响应多个用户的访问请求;支持Cookie和会话管理,通过身份缓存数据建立长久连接关系,并提高用户访问速度;支持交互式Javascript调试,提高用户体验;可以处理HTTP基本事务,快速响应客户端推送过来的访问请求。Jinja2库支持自动HTML转移功能,能够很好控制外部黑客的脚本攻击。系统运行速度很快,页面加载过程会将源码进行编译形成python字节码,从而实现模板的高效运行;模板继承机制可以对模板内容进行修改和维护,为不同需求的用户提供相应的模板。目前Python的web框架有很多。除了Flask,还有django、Web2py等等。其中Diango是目前Python的框架中使用度最高的。但是Django如同java的EJB(EnterpriseJavaBeansJavaEE服务器端组件模型)多被用于大型网站的开发,但对于大多数的小型网站的开发,使用SSH(Struts+Spring+Hibernat的一个JavaEE集成框架)就可以满足,和其他的轻量级框架相比较,Flask框架有很好的扩展性,这是其他Web框架不可替代的。 [2] 
收起全文
精华内容
下载资源
问答
  • flask

    千次阅读 2020-02-27 11:38:07
    我的代码 flask 基于python打造的轻量级web框架,只给开发者提供最核心的模块 ...插件 flask-sqlalchemy /flask-migrate/ flask-mail /flask-caching/ flask-wtf (快速生成前端页面)/flask-admin/ 等 ...

    我的代码

    flask

    • 基于python打造的轻量级web框架,只给开发者提供最核心的模块
    • 微服务
    • 架构体系
    • 拥有丰富的第三方插件
    • 插件 flask-sqlalchemy /flask-migrate/ flask-mail /flask-caching/ flask-wtf (快速生成前端页面)/flask-admin/ 等
    展开全文
  • Flask

    2017-11-15 12:17:02
    flask 初始化
    展开全文
  • Flask框架

    万次阅读 2020-05-03 17:33:24
    Flask框架 一、初识Flask 二、Flask路由注册 三、Flask的HTTP请求 四、Flask视图函数 五、Flask模板 六、Flask应用数据库 七、Flask脚本 八、Flask cookie、session、闪现 九、Flask请求扩展、中间件、蓝图 十、...
    展开全文
  • Flask从入门到精通

    万人学习 2019-12-11 10:39:34
    Flask 从入门到精通,课程内容包括:创建Flask项目、Flask路由、Flask Cookie、Flask Session、Flask-SQLAlchemy 数据库、Flask-WTF表单、Flask项目。
  • python后台Flask 快速入门

    万次阅读 多人点赞 2018-07-07 14:14:20
    有Django,Flask,Pyramid,Tornado,Bottle,Diesel,Pecan,Falcon等等的来吸引开发者的注意。作为一个开发者,你想要从中选择一个框架来帮你完成项目,并且能继续做大事情。 关于读者该选择哪个框架,这里...
    
        
    
    

    全栈工程师开发手册 (作者:栾鹏)
    架构系列文章

    在python web框架的世界里充满了选择。有Django,Flask,Pyramid,Tornado,Bottle,Diesel,Pecan,Falcon等等的来吸引开发者的注意。作为一个开发者,你想要从中选择一个框架来帮你完成项目,并且能继续做大事情。

    这里写图片描述

    关于读者该选择哪个框架,这里不做选择,本文带大家入门flask框架。

    安装Flask

    pip install flask
    

    完整的flask开发环境可能需要内容组件比较多, 这里可以先安装下面的组件
    将所有相关的包放置在一个txt文件,如:requires.txt,内容如下:

    alembic
    amqp
    billiard
    celery
    certifi
    chardet
    Flask
    Flask-Migrate
    Flask-Script
    Flask-Session
    Flask-SQLAlchemy
    Flask-WTF
    Jinja2
    kombu
    Mako
    

    然后直接安装pip install -r requires.txt

    hello world

    打开一个Python文件,输入下面的内容并运行该文件。然后访问localhost:5000,我们应当可以看到浏览器上输出了Hello Flask!。

    from flask import Flask
    app = Flask(__name__)
    @app.route('/')
    def hello_world():
        return 'Hello Flask!'
    
    if __name__ == '__main__':
        app.run(debug=True,port=80,host='0.0.0.0')     # 设置debug=True是为了让代码修改实时生效,而不用每次重启加载
    

    app初始化简介

    # Flask实例的源码:
    class Flask(_PackageBoundObject):
        def __init__(self, import_name,  # 指定应用的名字和工程目录,默认为__name__
                    static_path=None,  #  是静态文件存放的路径,会赋值给static_url_path参数
                    static_url_path=None,  # 设置静态文件路由的前缀,默认为“/static”
                    static_folder='static', # 静态文件的存放目录, 默认值为"static"
                    template_folder='templates', # 模板文件的存放目录,默认值为"templates"
                    instance_path=None, # 设置配置文件的路径,在instance_relative_config=True情况下生效
                    instance_relative_config=False # 设置为True表示配置文件相对于实例路径而不是根路径
                    root_path=None) # #  应用程序的根路径
    

    运行测试app程序

    app.run(host=None, # 设置ip,默认127.0.0.1
            port=None, # 设置端口,默认5000
            debug=None)  # 设置是否开启调试,默认false
    

    app的配置参数详解

    flask实例化后会加载默认的配置参数,我们也可以手动设置参数更新默认的配置,常用的参数选项有:

    DEBUG:是否启用debug模式,默认false。
    TESTING :启用/禁止测试模式
    SECRET_KEY :密钥,在启用session等很重要
    SESSION_COOKIE_NAME :设置保存的session在 cookie 的名称
    SESSION_COOKIE_DOMAIN:设置会话的域,默认是当前的服务器,因为Session是一个全局的变量,可能应用在多个app中;设置这个参数必须设置SERVER_NAME,否则报错
    PERMANENT_SESSION_LIFETIME:session失效时间,作为一个 datetime.timedelta 对象,也可以用秒表示;
    LOGGER_NAME:日志记录器的名称,默认__name__;
    SERVER_NAME:服务器的名称以及端口,需要它为了支持子域名 (如: 'myapp.dev:5000')
    MAX_CONTENT_LENGTH:设置一个请求所允许的最大的上传数据量,单位字节;
    SEND_FILE_MAX_AGE_DEFAULT:  设置调用send_file发送文件的缓存时间;
    TRAP_HTTP_EXCEPTIONS:如果这个值被设置为 True , Flask 不会执行 HTTP 异常的错误处理, 而是像对待其它异常一样,通过异常栈让它冒泡;
    PREFERRED_URL_SCHEME:设置URL 模式用于 URL 生成。如果没有设置 URL 模式,默认将为 http 。
    JSON_AS_ASCII:默认情况下 Flask 序列化对象成 ascii 编码的 JSON。 如果不对该配置项就行设置的话,Flask 将不会编码成 ASCII 保持字符串原样,并且返回 unicode 字符串。jsonfiy 会自动按照 utf-8 进行编码并且传输。
    JSON_SORT_KEYS:默认情况下 Flask 将会依键值顺序的方式序列化 JSON。 这样做是为了确保字典哈希种子的独立性,返回值将会一致不会造成 额外的 HTTP 缓存。通过改变这个变量可以重载默认行为。 这是不推荐也许会带来缓存消耗的性能问题。
    JSONIFY_PRETTYPRINT_REGULAR:如果设置成 True (默认下),jsonify 响应对象将会完美地打印。
    

    通过加载文件设置参数

    app.config.from_pyfile("./config.cfg") # 指定参数的路径,内容按行书写,配置文件放置在与app的同目录下
    
    def from_pyfile(self, filename, silent=False):
        filename = os.path.join(self.root_path, filename)
        pass
    

    通过类设置参数
    注意所有的参数必须大写,否则无效。

    class Config(object):  # 该类可以定义在一个py文件中然后导入py文件
        """配置参数"""
        DEBUG = True
    app.config.from_object(Config)
    

    通过json格式的文件配置

    # config.json
    {
        'DEBUG' = True
    }
    app.config.from_json('config.json') # 配置文件放置在与app的同目录下
    

    直接操作app.config对象进行设置

    app.config["DEBUG"] = True
    或者
    app.config.update({
        "DEBUG":True,
    })
    

    获取配置参数的方法

    app.config.get("DEBUG")
    或者
    current_app.config.get("DEBUG")
    

    路由

    路由通过使用Flask的app.route装饰器来设置,这类似Java的Spring Web MVC

    @app.route('/',methods=["POST","GET"])
    def index():
        return 'Index Page'
    
    @app.route('/hello')
    def hello():
        return 'Hello, World'
    

    route装饰器会将其装饰的视图函数注册到app的视图函数集中,其主要有三个参数:
    路径变量

    路由路径也就是请求网址中不是固定的网址,而是含有变量的网址。(注意,这里指的并不是网址?后面的get方式发送是参数,而是向www.example.com/1/test/中的1这个参数,也可能是其他的数值。)路径变量的语法是/path/<converter:varname>。在路径变量前还可以使用可选的转换器,有以下几种转换器。

    转换器 作用
    string 默认选项,接受除了斜杠之外的字符串
    int 接受整数
    float 接受浮点数
    path 和string类似,不过可以接受带斜杠的字符串
    any 匹配任何一种转换器
    uuid 接受UUID字符串

    下面是Flask官方的例子。

    @app.route('/user/<username>')
    def show_user_profile(username):
        # show the user profile for that user
        return 'User %s' % username
    
    @app.route('/post/<int:post_id>')
    def show_post(post_id):   # 函数参数中接收传递的参数
        # show the post with the given id, the id is an integer
        return 'Post %d' % post_id
    

    查看URL

    在Web程序中常常需要获取某个试图函数对应的URL,在Flask中需要使用url_for(‘方法名’)来构造对应方法的URL

    @app.route('/loginto')
    def login():
        print(url_for('login'))   # 会打印出网址中主机名后的部分
        return 'Hello world!'
    

    HTTP参数获取

    使用route装饰器的methods参数可以设置接收get或者post方法

    @app.route('/login', methods=['GET', 'POST'])
    def login():
        if request.method == 'POST':
            print(request.form['userid'])  # 获取post穿过来的参数
            dict = request.form.to_dict()  # 将请求参数解析成字典
            print(dict['userid'])
            return 'POST'
        else:
            print(request.args['userid'])   # 获取get传过来的参数
            dict = request.args.to_dict()  # 将请求参数解析成字典
            print(dict['userid'])
            return 'GET'
    
    

    获取上传文件

    利用Flask也可以方便的获取表单中上传的文件,只需要利用 request 的files属性即可,这也是一个字典,包含了被上传的文件。如果想获取上传的文件名,可以使用filename属性,不过需要注意这个属性可以被客户端更改,所以并不可靠。更好的办法是利用werkzeug提供的secure_filename方法来获取安全的文件名。

    from flask import request
    from werkzeug.utils import secure_filename
    
    @app.route('/upload', methods=['GET', 'POST'])
    def upload_file():
        if request.method == 'POST':
            f = request.files['the_file']
            f.save('/var/www/uploads/' + secure_filename(f.filename))
    

    返回内容

    返回字符串、元组等可以直接返回。

    返回字典使用

    from flask import jsonify
    @app.route('/test', methods=['GET', 'POST'])
    def test():
    	dict={'a':'a','b':'aaa'}
    	return jsonify(dict)
    

    返回模板

    from flask import render_template
    @app.route('/test', methods=['GET', 'POST'])
    def test():
    	return render_template('index.html',name='aaa')  # 可以向模板传递参数
    

    静态文件

    Web程序中常常需要处理静态文件,在Flask中需要使用url_for函数并指定static端点名和文件名。在上面的例子中url_for可以获取函数名对应的网址。下面的例子,url_for是写在html模板中的,实际的文件应是static/logo.png文件。

    h1 { margin: 0 0 30px 0; background: url({{ url_for('static', filename='logo.png') }}) }
    

    模板生成

    Flask默认使用Jinja2作为模板,Flask会自动配置Jinja 模板,所以我们不需要其他配置了。默认情况下,模板文件需要放在templates文件夹下。

    使用 Jinja 模板,只需要使用render_template函数并传入模板文件名和参数名即可。

    from flask import render_template
    
    @app.route('/hello/')
    @app.route('/hello/<name>')
    def hello(name=None):
        return render_template('hello.html', name=name)
    

    相应的模板文件如下。

    <!doctype html>
    <title>Hello from Flask</title>
    {% if name %}
      <h1>Hello {{ name }}!</h1>
    {% else %}
      <h1>Hello, World!</h1>
    {% endif %}
    

    日志输出

    Flask 为我们预配置了一个 Logger,我们可以直接在程序中使用。这个Logger是一个标准的Python Logger,所以我们可以向标准Logger那样配置它。

    app.logger.debug('A value for debugging')
    app.logger.warning('A warning occurred (%d apples)', 42)
    app.logger.error('An error occurred')
    

    Cookies

    Flask也可以方便的处理Cookie。使用方法很简单,直接看官方的例子就行了。下面的例子是如何获取cookie。

    from flask import request
    
    @app.route('/')
    def index():
        username = request.cookies.get('username')
        # 使用 cookies.get(key) 代替 cookies[key] 避免
        # 得到 KeyError 如果cookie不存在
    

    如果需要发送cookie给客户端,参考下面的例子。

    from flask import make_response
    
    @app.route('/')
    def index():
        resp = make_response(render_template(...))
        resp.set_cookie('username', 'the username')
        return resp
    

    重定向和错误

    redirect和abort函数用于重定向和返回错误页面。

    from flask import abort, redirect, url_for
    
    @app.route('/')
    def index():
        return redirect(url_for('login'))
    
    @app.route('/login')
    def login():
        abort(401)
        this_is_never_executed()
    

    默认的错误页面是一个空页面,如果需要自定义错误页面,可以使用errorhandler装饰器。

    from flask import render_template
    
    @app.errorhandler(404)
    def page_not_found(error):
        return render_template('page_not_found.html'), 404
    

    自定义响应http头

    默认情况下,Flask会根据函数的返回值自动决定如何处理响应:如果返回值是响应对象,则直接传递给客户端;如果返回值是字符串,那么就会将字符串转换为合适的响应对象。我们也可以自己决定如何设置响应对象,方法也很简单,使用make_response函数即可。

    @app.errorhandler(404)
    def not_found(error):
        resp = make_response(render_template('error.html'), 404)
        resp.headers['X-Something'] = 'A value'
        return resp
    

    Sessions

    我们可以使用全局对象session来管理用户会话。Sesison 是建立在 Cookie 技术上的,不过在 Flask 中,我们还可以为 Session 指定密钥,这样存储在 Cookie 中的信息就会被加密,从而更加安全。直接看 Flask 官方的例子吧。

    from flask import Flask, session, redirect, url_for, escape, request
    
    app = Flask(__name__)
    
    @app.route('/')
    def index():
        if 'username' in session:
            return 'Logged in as %s' % escape(session['username'])
        return 'You are not logged in'
    
    @app.route('/login', methods=['GET', 'POST'])
    def login():
        if request.method == 'POST':
            session['username'] = request.form['username']
            return redirect(url_for('index'))
        return '''
            <form method="post">
                <p><input type=text name=username>
                <p><input type=submit value=Login>
            </form>
        '''
    
    @app.route('/logout')
    def logout():
        # remove the username from the session if it's there
        session.pop('username', None)
        return redirect(url_for('index'))
    
    # set the secret key.  keep this really secret:
    app.secret_key = 'A0Zr98j/3yX R~XHH!jmN]LWX/,?RT'
    

    模板简介

    这里简单的介绍一下Jinja 模板的使用方法

    模板标签

    其实Jinja 模板和其他语言和框架的模板类似,反正都是通过某种语法将HTML文件中的特定元素替换为实际的值。如果使用过JSP、Thymeleaf 等模板,应该可以非常容易的学会使用 Jinja模板。

    其实从上面的例子中我们应该可以看到Jinja 模板的基本语法了。代码块需要包含在{% %}块中,例如下面的代码。

    {% extends 'layout.html' %}
    {% block title %}主页{% endblock %}
    {% block body %}
    
        <div class="jumbotron">
            <h1>主页</h1>
        </div>
    
    {% endblock %}
    

    双大括号中的内容不会被转义,所有内容都会原样输出,它常常和其他辅助函数一起使用。下面是一个例子。

    <a class="navbar-brand" href={{ url_for('index') }}>Flask小例子</a>
    

    继承

    模板可以继承其他模板,我们可以将布局设置为父模板,让其他模板继承,这样可以非常方便的控制整个程序的外观。

    例如这里有一个layout.html模板,它是整个程序的布局文件。

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>{% block title %}{% endblock %}</title>
        <link rel="stylesheet" href="{{ url_for('static',filename='css/bootstrap.css') }}"/>
        <link rel="stylesheet" href="{{ url_for('static',filename='css/bootstrap-theme.css') }}"/>
    
    </head>
    <body>
    
    <div class="container body-content">
        {% block body %}{% endblock %}
    </div>
    
    <div class="container footer">
        <hr>
        <p>这是页脚</p>
    </div>
    
    <script src="{{ url_for('static',filename='js/jquery.js') }}"></script>
    <script src="{{ url_for('static',filename='js/bootstrap.js') }}"></script>
    
    </body>
    </html>
    

    其他模板可以这么写。对比一下面向对象编程的继承概念,我们可以很容易的理解。

    {% extends 'layout.html' %}
    {% block title %}主页{% endblock %}
    {% block body %}
    
        <div class="jumbotron">
            <h1>主页</h1>
            <p>本项目演示了Flask的简单使用方法,点击导航栏上的菜单条查看具体功能。</p>
        </div>
    
    {% endblock %}
    

    控制流

    条件判断可以这么写,类似于JSP标签中的Java 代码,{% %}中也可以写Python代码。下面是Flask官方文档的例子。

     <div class=metanav>
      {% if not session.logged_in %}
        <a href="{{ url_for('login') }}">log in</a>
      {% else %}
        <a href="{{ url_for('logout') }}">log out</a>
      {% endif %}
      </div>
    

    循环的话可以这么写,和在Python中遍历差不多。

     <tbody>
      {% for key,value in data.items() %}
          <tr>
              <td>{{ key }}</td>
              <td>{{ value }}</td>
          </tr>
      {% endfor %}
      <tr>
          <td>文件</td>
          <td></td>
      </tr>
      </tbody>
    

    需要注意不是所有的Python代码都可以写在模板里,如果希望从模板中引用其他文件的函数,需要显式将函数注册到模板中

    写在最后

    顺便说,通过Flask 我也了解了Python 语言的执行速度。我们都知道编译器编译出来的代码执行起来要比解释器解释代码要快大约几十倍到几千倍不等。以前学Java的时候,感觉Java 慢,主要原因就是等待编译时间比较长。相对来说用Python写脚本就很块了,因为没有编译过程。

    但是从Flask的运行速度来看,我切身感受到了Python 执行确实不快。举个例子,在Spring中写一个控制器,接受HTTP参数,并显示到页面上,如果程序编译完之后,这个显示过程基本是瞬时的。但是同样的需求在Flask中,我居然可以感觉到明显的延迟(大概几百毫秒的等待时间)。所以,如果你想写一个比较快的Web程序,还是用Java或者JVM语言吧,虽然看着土,性能确实杠杠的 。

    展开全文
  • FlaskFlask

    2017-08-02 20:21:02
    使用Flask框架时,Flask是首要入口,使用方法类似下面: from flask import Flask app = Flask(__name__) @app.route("/") def index(): pass if __name__ == '__main__': app.run(debug=True) Flask类定义如...
  • Flask 项目实战

    千人学习 2017-12-12 20:15:07
    本项目是一个Flask版的博客系统,使用使用Flask+adminLTE实现,内容包括:博客后台和博客前台,用户登录、注册、权限管理、角色管理、sqlalchemy等。
  • Flask教程

    千次阅读 2018-12-19 14:48:39
    Flask教程 Flask概述 Flask环境 Flask应用 Flask路由 Flask变量规则 Flask URL构建 Flask HTTP方法 Flask Templates Flask静态文件 Flask请求对象 Flask 发送表单数据到模板 Flask Cookies Flask Sessions Flask...
  • Flask开发:初识Flask

    千次阅读 2020-03-28 11:21:15
    Django 通常用于大型Web应用由于内置组件足够强大所以使用Django开发可以一气呵成,Flask 通常应用于小型应用和快速构建应用,其强大的三方库,足以支撑一个大型的Web应用。本文就带你进入flask的精彩世界......
  • Python Flask Web 框架入门

    万次阅读 多人点赞 2018-09-03 20:31:23
    Flask是一个轻量级的基于Python的web框架。 本文适合有一定HTML、Python、网络基础的同学阅读。 1. 简介 这份文档中的代码使用 Python 3 运行。 是的,所以读者需要自己在电脑上安装Python 3 和 pip3。建议安装...
  • Flask 日志

    千次阅读 2019-08-07 20:42:57
    Flask 日志
  • Python之Flask框架:Flask框架简介、安装、使用方法详细攻略 目录 Flask框架简介 Flask框架安装 Flask框架使用方法 1、小试牛刀,然后访问UR即可得到L Flask框架简介 对初学者来说,循序渐进是最...
  • flaskFlask多线程

    万次阅读 2018-06-26 14:36:56
    flask处理接口请求时,若某个接口业务处理时间较长,会一直处于阻塞中 开始考虑是否在程序中另起线程处理耗时较长的接口业务,后发现Flask中可设置开启多线程执行事务 参数 app.run()中可以接受两个参数,...
  • 一、通过文件的形式配置Flask: ./config.cfg(配置文件,文件名任意): DEBUG = True ./demo.py(通过配置文件加载配置): # coding:utf-8 from flask import Flask app = Flask(__name__) # 通过配置...
  • flask文件上传 flask-uploads

    千次阅读 2018-06-29 19:48:56
    官网 http://pythonhosted.org/Flask-Uploads/说明:flask-uploads扩展库可以很好帮助你解决上传文件时的问题,使用非常方便安装:pip install flask-uploads配置:from flask_uploads import UploadSet, IMAGES ...
  • Flask笔记-使用flask-sqlacodegen自动生成model

    千次阅读 多人点赞 2020-02-27 22:38:15
    pip install flask-sqlacodegen 如下表: 使用使用下面的命令生成model: flask-sqlacodegen "mysql://root:XXXpasswordXXXX@XXX.XXX.XXX.XXX/accelerator" --tables pointCard --outfile "common/models/p...
  • flaskFlask重定向

    千次阅读 2018-01-08 21:41:01
    在使用flask中的重定向之前,让我们先了解一个概念,重定向和请求转发的作用和区别 重定向和请求转发的区别 网址 重定向时浏览器上的网址改变 转发时浏览器上的网址不变 请求次数 重定向实际上产生了两次...
  • Flask基础

    千次阅读 2018-06-05 19:44:07
    安装Flask模块 pip install flask 创建一个Flask项目 创建App文件 from flask import Flask # 导入Flask包 app = Flask(__name__) # 获取Flask对象,以当前模块名为参数 # 路由默认为(127.0.0.1:5000) @app...
  • Flask 快速入门

    万次阅读 多人点赞 2017-04-13 02:20:04
    Flask是一个Python编写的Web 微框架,让我们可以使用Python语言快速实现一个网站或Web服务。本文参考自Flask官方文档,大部分代码引用自官方文档。安装Flask首先我们来安装Flask。最简单的办法就是使用pip。pip ...
  • 说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 一丶项目介绍 产品:关于手机移动端的租房网站 角色:在这个产品中用户包括房东与房客 功能:房东可以在这个平台发布自己的房屋,房客...
  • Flask-第一个FLask程序

    千次阅读 2019-04-23 11:53:41
    Flask-第一个FLask程序 from flask import Flask //初始化一个Flask对象 //Flask() //需要传递一个参数__name__ //1.方便flask框架去寻找资源 //2.方便flask插件比如Flask-Sqlalchemy出现错误的时候,好去寻找问题...
  • Flask权限篇flask_principal

    万次阅读 2017-07-26 09:54:32
    最近写CMDB的时候遇到了一个问题,那就是flask的权限问题,目前我了解到的Flask有3种方案进行权限管理的操作, Flask狗书中的十六进制的权限值来实现 Flask-Security Flask Principal先跳过第一种,可能纯属是我技术...
  • 细说flask表单flask-wtf

    万次阅读 2017-03-15 18:01:13
    一、安装pip install flask-wtf二、创建一个flask的项目引入相对应的包from flask import Flask,render_template import flask #引入模块 from flask_wtf import FlaskForm,CsrfProtect #如果输入的是字符串那么就用...
  • Flask - flask-pika 操作 Rabbit

    千次阅读 2019-05-22 17:33:27
    一、flask-pika 二、基于 Flask 框架的初步使用 2-1 生产者的队列堵塞问题 一、flask-pika 官方 github 安装 二、基于 Flask 框架的初步使用 生产者包装成API调用,消费者使用其他进程监听执行 '''...
  • Flask 扩展: Flask-Script

    千次阅读 2017-06-06 15:17:08
    Flask-Script
  • Flask ---原来Flask是这样入门的

    千次阅读 2020-08-11 10:15:47
    初识Flask下载FlaskFlask第一个程序模板语言动态路由 下载Flask pip3 install flask (pip install flask) Flask第一个程序 app.py #导入flask模块 from flask import Flask # 加载html用的模块 from flask import ...
  • #所需模块flask_apscheduler #encodig=utf-8 from flask import Flask, request from flask_apscheduler import APScheduler class Config(object): # 创建配置,用类 # 任务列表 JOBS = [ # { # 第一个任务...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 83,207
精华内容 33,282
关键字:

flask