实例程序在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 '<h1>HelloFlask!</h1>'
复制代码

app.route()的语法

1.为视图绑定多个URL

@app.route('/hi')
@app.route('/hello')
def say_hello():return '<h1>Hello, Flask!</h1>'
复制代码

2.动态URL

@app.route('/greet/<name>')
def greet(name):return '<h1>Hello, %s!</h1>' % name
复制代码

3.默认值

@app.route('/greet/',defaults={'name':'Programmer'})
@app.route('/greet/<name>')
def greet(name):return '<h1>Hello, %s!</h1>' % name
复制代码

2.启动开发服务器

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

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

flask run
复制代码

在浏览器输入 http://127.0.0.1:5000/ ,我们会看到网页上显示"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

Flask入门学习---Hello,Flask!相关推荐

  1. Flask入门学习教程

    Flask学习 文章目录 Flask学习 1.简介 2.安装 3.最小的应用 4.路由 5.变量规则 6.URL构建 7.HTTP方法 8.文件存放 9.渲染模板 10.Request对象 11.Co ...

  2. Flask入门学习---初步了解模板

    1.为什么需要模板引擎(template engine)? 在上面的例子中,我们视图函数向客户端返回一行HTML代码.当有大量HTML代码的时候,我们应该将它们都存储在一个文件里面,从而让控制器和用户 ...

  3. 简单的flask入门,自己来写网页

    简单的flask入门 简单的flask入门 我这里使用的是ubuntu系统,不是windows系统,解释器是python3.6,软件是pycharm 首先要创建虚拟环境, 因为可以创建独立的pytho ...

  4. Flask 框架学习_1

    Flask 框架学习_1 Flask 框架 与 Django框架区别 Flask: 小巧.灵活,让程序员自己决定定制哪些功能,非常适用于小型网站. 对于普通的工人来说将毛坯房装修为城市综合体还是很麻烦 ...

  5. Flask框架学习整理——从零开始入门Flask

    文章目录 Flask框架 一. 简介 二. 概要 三. 知识点(附代码) 1. Flask基础入门 1)路由route的创建: 2)endpoint的作用 3)request对象的使用 4)请求钩子b ...

  6. Flask入门系列(转载)

    一.入门系列: Flask入门系列(一)–Hello World 项目开发中,经常要写一些小系统来辅助,比如监控系统,配置系统等等.用传统的Java写,太笨重了,连PHP都嫌麻烦.一直在寻找一个轻量级 ...

  7. 谈谈Python的Flask框架学习与福利分享

    在秋天中暑 熬过了炎炎夏日,却在这个初秋的日子中暑了.本来休息不好,今天又跑了一天,结果回来坐车吹空调冷热交替的崩溃了... 脑壳疼 回家就躺倒睡了一觉,感觉舒服点了,起床开电脑却又不知道学点什么,想 ...

  8. Flask入门之Jinjia模板的一些语法

    原文:https://www.cnblogs.com/wongbingming/p/6807771.html Flask入门之Jinjia模板的一些语法 1. 变量表示 {{ argv }} 2. 赋 ...

  9. Flask入门之Virtualvenv的安装及使用(windows)

    转自 https://www.cnblogs.com/wongbingming/p/6795455.html(Flask入门之Virtualvenv的安装及使用(windows)) Virtualve ...

最新文章

  1. [Effective JavaScript 笔记]第59条:避免过度的强制转换
  2. 科大星云诗社动态20210813
  3. 电脑系统修复有多重要?
  4. AI理论知识基础(22)-逻辑斯蒂映射-伪随机数
  5. plsql(轻量版)_游标的使用1
  6. C++——数的进制和数据间隔
  7. linux和win10运行效率,Ubuntu与Win10周年版Ubuntu Bash性能对比
  8. 深入解析:MySQL对分布式事务 XA Transactions 的支持
  9. 使用springboot遇到的的异常
  10. 构建幸福婚姻需明白四件事
  11. 东北大学计算机学院拟录取分数线,东北大学全国各省各专业录取分数线汇总!(含艺术类)...
  12. CPU纯软件半虚拟化技术
  13. 关于使用CKplayer播放m3u8视频出现没有视频的问题分析
  14. html语言代码 输入文字,html语言教程文字代码:
  15. 小程序中如何引用阿里图标
  16. java web课程设计目的_javaweb课程设计
  17. 企业微信如何做社群运营?企业微信群运营新玩法(可复用)
  18. 【PTA】 学生成绩录入及查询
  19. Linux王冠-RHCE认证概况及费用一览
  20. leaflet 设置地图上某个标注位于页面最上层

热门文章

  1. java语言 U_Java语言的基础
  2. mysql自然连接和等值连接_mysql sql99语法 内连接等值连接
  3. keil复制代码乱码_win7系统下Keil复制中文注释到记事本出现乱码的解决方法
  4. oracle mysql 适配器_Oracle协议适配器错误解决办法
  5. eclipse 右键项目为什么没有properties菜单_只需几步,从零开始搭建SSM项目
  6. gcc 复杂结构体 初始化_gcc编译选项
  7. 【 MATLAB 】使用 MATLAB 得到高密度谱(补零得到DFT)和高分辨率谱(获得更多的数据得到DFT)的方式对比(附MATLAB脚本)
  8. 获取远程数据本地缓存到PHP数组
  9. mysql autocommit问题导致的gtid同步变慢
  10. linux命令简单汇总,直通车