《Flask Web开发实战》第一章初识Flask——李辉,读书笔记

第一章 初识Flask

本章主要介绍了一些关于Flask开发的基本配置问题

开发环境的搭建

使用Pipenv管理Python包

使用pip、Pipflie和Virtualenv替换pip、virtualenv、requirements.txt。它让包安装、包依赖管理和虚拟环境管理更加方便,使用它可以实现高效的Python项目开发工作流。
安装

pip install pipenv

创建虚拟环境
进入项目的工作目录,使用如下命令,会生成一个python虚拟环境,虚拟环境名字是项目名+一串随机字符。

pipenv install

在项目工作目录下,使用如下命令激活环境

pipenv shell
# 使用如下两个命令可以退出环境
exit
deactivate

或者使用如下命令单次使用虚拟环境运行程序

pipenv run python temp.py

管理依赖
使用pipenv install在项目根目录下创建会生成Pipfile和Pipfile.lock,两个文件,前者记录依赖包,后者记录详细的依赖包列表情况
在新的环境下使用如下命令安装Pipfile文件中的包到新的虚拟环境中。

pipenv install
# 如果需要安装开发环境依赖包则需要如下命令,才会安装Pipfile中的dev-package部分
pipenv install --dev

想要安装包在虚拟环境中,最好使用pipenv install <包名>进行安装,会直接把包加到Pipfile中。
使用如下命令查看依赖包的依赖情况。

pipenv graph

hello Flask

对于简单程序而言,主模块一般命名为app.py

from flask import Flask
app = Flask(__name__)

在一个Web应用中,客户端和服务器上的Flask程序的交互可以简单概括为以下几步:
1、在浏览器中输入URL访问某个资源
2、Flask接收用户请求并分析URL
3、为URL找到处理函数
4、执行函数生成响应,返回浏览器
5、浏览器接收解析,展示页面
大部分都有Flask完成,使用app.route()装饰器,建立URL和函数之间建立关联。这个过程为 注册路由 ,这个函数成为 视图函数
在动态路由中设置默认值

@app.route("/greet", defaults={'name':'pro'})
@app.route("/greet/<name>")
def greet(name):
    return "<h1>hello %s!</h1>" % name

等价于

@app.route("/greet")
@app.route("/greet/<name>")
def greet(name='pro'):
    return "<h1>hello %s!</h1>" % name

启动开发服务器

从0.11开始,替代旧的app.run()的形式使用如下命令启动Flask

flask run

常用命令如下,默认生产环境,修改为开发环境后debug默认开启

export FLASK_APP=hello.py
export FLASK_ENV=development
flask run
# 或
flask run --host=127.0.0.1 --port=7000

自动寻找规则

  • 从当前目录寻找app.py和wsgi.py模块,寻找名为app或application的程序实例
  • 从环境变量FLASK_APP中寻找名app或application

修改环境变量,文件名为hello.py

# Linux或MacOS
export FLASK_APP=hello
# Windows
set FLASK_APP=hello

PyCharm进行运行配置修改,修改后点击右上角的图标进行运行和debug(不能右键debug),
Flask官网PyCharm配置
在这里插入图片描述
在这里插入图片描述

修改默认的重载器

默认使用Werkzeug的内置stat重载器,缺点好点,准确性一般(确实一般反应迟钝),替换另一个用于文件变动的库Watchdog。

pipenv install watchdog --dev

–dev是开发时候的依赖,只有在开发室用到。在Pipfile文件中添加到dev-packages部分。
浏览器如果有缓存某些文件使用,忽略缓存重载页面
强制刷新网页:Ctrl/Shift + F5

修改配置参数

配置文档地址:http://flask.pocoo.org/docs/latest/config
使用update修改单个、多个值:

app.config['TESTING'] = True
app.config.update(
    TESTING=True,
    SECRET_KEY=b'_5#y2L"F4Q8z\n\xec]/'
)

还可以把配置变量存储在单独的 Python 脚本、JSON 格式的文件或是 Python类中, config 对象提供了相应的方法来导人配置。

实现类似flask run的命令的方式

flask中的click:https://flask.palletsprojects.com/en/1.1.x/cli/#custom-commands

click官方文档: https://click.palletsprojects.com/

结尾

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值