• 1、Flask实战第1天:第一个Flask程序


    Flask是流行的python web框架...(* ̄︶ ̄)

    零基础到企业级论坛实战,人生苦短,我用python,开启FLask之旅吧...

     

    安装开发环境

    下载Python win版安装包

    双击运行,选择自定义安装,勾选Add Python 3.6 to PATH

    安装完成之后,进入cmd窗口,输入python即可进入python环境

    这里我们使用virtualenv虚拟开发环境

    为什么使用virtualenv?

      1、使用不同应用开发环境独立开发

      2、环境升级不影响其他应用,也不会影响全局的Python环境,虚拟环境就是讲全局环境做一个私有的复制

      3、它可以防止系统中出现包管理混乱和版本的冲突

    安装virtualenv

    pip install virtualenvwrapper-win

    创建一个虚拟环境 flask-env

    虚拟环境的基本操作

    #查看当前的虚拟环境
    workon
    
    #进入指定的虚拟环境,比如flask-env
    workon flaks-env
    
    #退出虚拟环境
    deactivate
    
    #删除指定的虚拟环境,比如flask-env
    rmvirtaulenv flask-env
    虚拟环境基本操作

    本地磁盘D新建项目目录:my_flask

    打开Pycharm,创建Flask项目

    创建完成后,my_flask.py是这个项目的主程序

    #从flask这个包中导入Flask类,这个类时核心项目
    from flask import Flask
    
    #创建一个Flask对象,传递__name__参数
    #__name__参数作用
    #1. 可以规定模板和静态文件的查找路径
    #2. 以后一些插件报错了,可以通过这个参数找到具体的错误位置
    app = Flask(__name__)
    
    
    #@app.route是一个装饰器
    #@app.route('/')就是将url中的/映射到hello_world这个视图函数上面
    #当你访问网站/目录的时候,会执行hello_world函数,然后这个函数的返回值给浏览器
    @app.route('/')
    def hello_world():
        return 'Hello World!'
    
    #如果这个文件是作为一个主文件运行,那么执行app.run()方法,即启动网站
    #app.run()是flask中的一个测试应用服务器
    if __name__ == '__main__':
        app.run()
    my_flask.py

     使用pycharm启动项目:Run-->Run...-->my_flask, 默认启动的端口是5000,通过浏览器访问http://127.0.0.1:5000

    更改启动端口

    如果我们不想使用默认的5000端口,可以给app.run()传递一个port参数,比如8000端口

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

    更改绑定地址

    默认只绑定了127.0.0.1,如果我们想让局域网其他电脑也能够方法,就需要绑定到本机其他ip,我们可以绑定0.0.0.0

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

    debug模式

    在开发过程中,我们需要开启debug模式,如果出现异常,浏览器会显示错误信息及位置,方便开发者调试

    开启debug模式还有个好处就是:当我们修改完代码,按ctrl + s保存代码后会自动重启服务

    开启debug模式方法1:

    在app.run()方法添加参数debug=True

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

    开启debug模式方法2:

    app = Flask(__name__)
    app.debug = True

    开启debug模式方法3:

    app = Flask(__name__)
    app.config.update(DEBUG=True)

    开启debug模式方法4:

    在项目下面单数创建一个配置文件config.py,里面就可以写配置信息了,这里我只需要写一行

    DEBUG = True

    然后我们需要在主程序my_flask.py中导入这个config,并且配置使用它来作为配置

    import config
    ...
    app.config.from_object(config)
    ...

    我们来故意写个错误的代码

    @app.route('/')
    def hello_world():
        a = 10
        b = 0
        c = a /b #0是不能被作为除数的,这样写肯定会报错
        return c

    如果我们开启了debug模式,浏览器会显示错误原因

    如果没有开启debug模式,则是单纯的显示内部服务器错误,这样不利于我们排查

    配置文件

    配置文件已经在debug模式的第4种方法种提到过得一种,这种也是我喜欢用的

    其实还有另外一种方式: 使用app.config.from_pyfile的方式加载配置文件

    这种方式不需要import, 直接使用app.config.from_pyfile('config.py')就可以了, 注意这个地方,必须要写文件全名,后缀名不能少!

    1、这种方式加载配置,不局限于只能使用py文件,普通的txt文件同样适用

    2、这个方式,可以传递silent=True,当这个配置文件没有找到的时候,不会抛出异常

    app.config.from_pyfile('config.txt', silent=True)
  • 相关阅读:
    HDU 1162 Eddy's picture (最小生成树)(java版)
    codeforces 735D Taxes(数论)
    codeforces 735C Tennis Championship(贪心+递推)
    codeforces 2B The least round way(DP+数学)
    codeforces 2A Winner (好好学习英语)
    codeforces 632C The Smallest String Concatenation
    codeforces 803D Magazine Ad(二分+贪心)
    codeforces 803C Maximal GCD(GCD数学)
    codeforces 803B Distances to Zero
    STL容器之优先队列(转)
  • 原文地址:https://www.cnblogs.com/sellsa/p/9242391.html
Copyright © 2020-2023  润新知