• Flask Web开发实战:1.3-启动开发服务器


    命令行启动

    在app.py的父目录下,使用flask run可以启动内置的开发服务器。但是注意到,这里的Debug mode为off

    自动发现程序实例

    • 在当前目录下,寻找app.py和wsgi.py模块,并从中寻找名为app或application的程序实例
    • 从环境变量FLASK_APP对应的值寻找名为app或application的程序实例。如果程序的模块名为其他名字,比如hello.py,需要设置环境变量FLASK_APP,将包含程序实例的模块名赋值给这个变量set FLASK_APP=hello
    • 如果安装了python-dotenv,使用flask run或者其他命令时会使用它自动从.flaskenv文件和.env文件中加载环境变量

    管理环境变量

    使用pipenv install python-dotenv安装python-dotenv。当安装了python-dotenv时,Flask在加载环境变量的优先级是:手动设置的环境变量 > .env中设置的环境变量 > .flaskenv设置的环境变量
    在根目录下分别创建两个文件.env和.flaskenv。.env是用来存储包含敏感信息的环境变量,比如用来配置Email服务器的账号和密码,.flaskenv是用来存储和Flask相关的公开环境变量,比如FLASK_APP
    这两个文件中,环境变量通过key=value的形式定义,注释以#开头(注释最好用英文,使用中文容易报错)

    Pycharm启动

    更多启动选项

    服务器对外可见

    上面启动的Web服务器默认是对外不可见的,可以在run命令后添加--host选项将主机地址设为0.0.0.0使其对外可见

    flask run --host=0.0.0.0
    

    更改默认端口

    flask run --port=8000
    

    备注

    以上更改也可以通过环境变量设置,在.flaskenv中设置。另外.flaskenv要放在hello目录下,和app.py并列,否则会出现找不到app的情况

  • 相关阅读:
    [Cogs727] [网络流24题#2] 太空飞行计划 [网络流,最小割]
    [Cogs14] [网络流24题#1] 飞行员分配方案 [网络流,最大流,二分图匹配]
    [Poj2112][USACO2003 US OPEN] Optimal Milking [网络流,最大流][Dinic+当前弧优化]
    基本高精度模板
    Dinic模板
    [poj1698]Alice's Chance[网络流]
    [cf 599D] Spongebob and Squares
    [cf 599C] Day at the Beach
    [BZOJ1004]Cards
    [BZOJ1007]水平可见直线
  • 原文地址:https://www.cnblogs.com/my_captain/p/12916358.html
Copyright © 2020-2023  润新知