IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]Python 的 Flask 框架安装应用

    testcs_dn发表于 2017-04-09 20:19:43
    love 0

    Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 ,使用 BSD 授权。

    Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。然而,Flask保留了扩增的弹性,可以用Flask-extension加入这些功能:ORM、窗体验证工具、文件上传、各种开放式身份验证技术。最新版本为0.12。

    安装 Installation

    Windows下以管理员身份运行命令提示符CMD,执行:

    pip install Flask
    Linux或mac下可能需要使用:

    sudo pip install Flask

    完了,这就装完了,比 Django 好,环境变量都不需要配置。

    我的Python 2.7 安装目录是:D:\Python27

    安装完成后,会有 D:\Python27\Lib\site-packages\flask 目录;

    D:\Python27\Scripts 目录下会有:flask.exe 

    快速入门 quick start

    随便找个目录吧,我的是:D:\Python\flask

    创建一个文件:hello.py ,内容如下:

    from flask import Flask
    app = Flask(__name__)
    
    @app.route('/')
    def index():
        return 'Index Page'
    
    @app.route('/hello')
    def hello():
        return 'Hello, World'
    
    @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
    
    @app.route('/buy', methods=['POST'])
    def buy():
        stripe_token = request.form['stripeToken']
    
    if __name__ == "__main__":
        app.run()

    打开CMD,切换目录到:D:\Python\flask

    执行以下命令启动服务:

    set FLASK_APP=hello.py
    set FLASK_DEBUG=1
    flask run

    命令说明:

    1、设置APP 的启动文件;

    2、设置为调试模式启动;

    3、运行;

    如果你使用Linux类操作系统,需要将 set 替换为 export
    启动成功后,我们可以根据提示访问:http://127.0.0.1:5000/

    如果想退出,按 CTRL + C 就可以了。

    访问:http://127.0.0.1:5000/,我们会看到输出:Index Page

    访问:http://127.0.0.1:5000/hello,会看到输出:Hello, World

    访问:http://127.0.0.1:5000/user/%E5%BE%AEwx%E7%AC%91, 会看到输出:User 微wx笑

    而访问:http://127.0.0.1:5000/buy,我们会收到提示:方法不支持。


    因为我们指定了:methods=['POST']

    路由

    用过Java SpringMVC的小伙伴应该对文件中的

    @app.route('/buy', methods=['POST'])
    感觉比较眼熟,这很像 RequestMapping

    	@RequestMapping("/index")
    	public String index() {
    		return "projectPage/index";
    	}

    在 go 语言中,可以使用 http.HandleFunc("/trans", trans)  //设置访问的路由

    让你的服务器对外可见

    按上面运行服务器的方式,您将注意到服务器只能从您自己的计算机访问,而不能从网络中的任何其他计算机访问。

    这是默认值,因为在调试模式下,应用程序的用户可以在计算机上执行任意的Python代码。如果禁用调试器或信任网络上的用户,则可以通过在命令行中添加--host = 0.0.0.0来使服务器公开可用:

    flask run --host=0.0.0.0

    静态文件

    动态Web应用程序也需要静态文件。

    这通常是放 CSS和JavaScript文件的地方。只需在程序包中或在模块目录创建一个名为static的文件夹,它将在应用程序的/static处可用。例如我在 D:\Python\flask 目录下创建了一个 static 文件夹,把一些静态文件放在这下面,然后通过 http://127.0.0.1:5000/static/index.html 这样就可以访问了。


    先说这么多吧,入门真的比较简单。

    ======================文档信息===========================

    版权声明:非商用自由转载-保持署名-注明出处

    署名(BY) :testcs_dn(微wx笑)

    文章出处:[无知人生,记录点滴](http://blog.csdn.net/testcs_dn)

    ==============本文首发于个人微信订阅号(微wx笑)============



沪ICP备19023445号-2号
友情链接