博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Flask入门学习---Hello,Flask!
阅读量:6938 次
发布时间:2019-06-27

本文共 1966 字,大约阅读时间需要 6 分钟。

实例程序在helloflask/demos/hello目录下

1.最小的Flask程序

在hello目录下的app.py脚本中包含了一个最小的Flask程序。

from flask import Flask     #从flask包中导入Flask类app=Flask(__name__)         #传入Flask构造函数的第一个参数是模块或包的名字@app.route('/')             #注册路由,即让URL与函数建立联系。def index():                #当用户访问URL时,会触发index函数    return '

HelloFlask!

'复制代码

app.route()的语法

1.为视图绑定多个URL

@app.route('/hi')@app.route('/hello')def say_hello():    return '

Hello, Flask!

'复制代码

2.动态URL

@app.route('/greet/
')def greet(name): return '

Hello, %s!

' % name复制代码

3.默认值

@app.route('/greet/',defaults={'name':'Programmer'})@app.route('/greet/
')def greet(name): return '

Hello, %s!

' % name复制代码

2.启动开发服务器

Flask内置了一个简单的服务器。

在工作目录下执行如下命令,启动内置的服务器

flask run复制代码

在浏览器输入 ,我们会看到网页上显示"Hello, World!"

在执行flask run命令运行程序之前,我们需要提供程序实例所在模块的位置。我们在上面可以直接运行程序,是因为Flask会自动探测程序实例,自动探测的规则如下:

a.从当前目录寻找app.py和wsgi.py模块,并从中寻找名为app和application的程序实例。

b.从环境变量FLASK_APP对应的值寻找名为app和application的程序实例。若我们的程序实例为其他名称,如hello.py,那么需要设置环境变量FLASK_APP。

Windows系统使用set命令:

set FLASK_APP=hello复制代码

c.如果安装了python_dotenv,那么在使用flask run或其他命令时,会使用它自动从.flaskenv文件和.env文件中加载环境变量

注:当安装了python-dotenv时,Flask加载环境变量的优先级为:

手动设置的环境变量  >  .env中设置的环境变量  >  .flaskenv设置的环境变量复制代码

为了避免频繁设置环境变量,我们使用pyhton_dotenv管理项目的环境变量,安装命令如下:

pipenv install python-dotenv复制代码

我们在项目的根目录下创建两个文件: .env 和 .flaskenv

.flaskenv用来存储和Flask相关的公开环境变量

.env用来存储包含敏感信息的环境变量

3.使用Py Charm运行服务器

3.1 Py Charm 配置服务器

在Py Charm中,单击菜单栏中的Run ——> Edit Configurations打开配置窗口

Step 1.单击左侧的"+"符号打开下拉列表

Step 2.新建一个Python类型的运行配置,并在右侧的Name字段输入一个合适的名称

Step 3.将第一项配置字段通过下列选项选为"Module Name"

Step 4.填入模块名称flask

Step 5.第二栏的"Parameters"填入run

Step 6.在"Working directory"字段中选择程序所在的目录作为工作目录。

保存关闭窗口后,在Py Charm右上方选择我们创建的运行配置,然后单击绿色三角形的运行按钮即可启动开发服务器。

3.2 更多的启动选项

1.使服务器外部可见

flask run --host=0.0.0.0复制代码

2.改变默认端口

flask run --port=8000复制代码

3.3设置运行环境

运行环境分为开发环境和生产环境。

Flask提供了FLASK_ENV环境变量用来设置环境,默认为production。

FLASK_ENV=development #将运行环境设置为开发模式复制代码

转载于:https://juejin.im/post/5ccece49e51d453aa307c812

你可能感兴趣的文章
启动或重启DNS服务时,卡在Generating /etc/rndc.key:上很长时间
查看>>
视频专辑:Python系列视频教程
查看>>
Linux内核更新 linux3.10.tar.gz Redhat 6.0
查看>>
IPv6技术详解:基本概念、应用现状、技术实践(下篇)
查看>>
zabbix自定义key监控mysql重要参数的运行情况
查看>>
CISCO 多协议,多进程,路由重分布及其路由策略应用
查看>>
ios开发备忘录十
查看>>
windows下 iis配置php5.6
查看>>
谷歌火狐浏览器保存网页为htm格式
查看>>
sqlserver表和库管理
查看>>
Ceph安装QEMU报错:User requested feature rados block device configure was not able to find it
查看>>
我的友情链接
查看>>
linux中 qt5 的环境搭建
查看>>
Qt 中调用cmd不显示窗口
查看>>
HBase原理和优化
查看>>
maven配置全局的jdk和配置局部的jdk
查看>>
Integer.valueOf(int i)源码
查看>>
CentOS 6.5 minimal 装配vmware-tools
查看>>
Linux中获取命令帮助
查看>>
从零构建PHP商用MVC框架(2.1 路由-带参数请求)
查看>>