咸阳网站建设学校,淘宝一个关键词要刷多久,电商网站开发要多少钱,河南金城建设工程有限公司网站文章目录 一、创建程序实例并注册路由1. 为视图绑定绑定多个URL2. 动态URL 二、启动开发服务器1. 自动发现程序实例2. 管理环境变量3. 使用pycharm运行服务器4. 更多的启动选项5. 设置运行环境6. 调试器7. 重载器 一、创建程序实例并注册路由
app.py
# 从flask包中导入flask类… 文章目录 一、创建程序实例并注册路由1. 为视图绑定绑定多个URL2. 动态URL 二、启动开发服务器1. 自动发现程序实例2. 管理环境变量3. 使用pycharm运行服务器4. 更多的启动选项5. 设置运行环境6. 调试器7. 重载器 一、创建程序实例并注册路由
app.py
# 从flask包中导入flask类
from flask import Flask# 实例化Flask类
app Flask(__name__)app.route(/)
def index():return h1Hello,Flask!h1/
Flask(name) 会使用当前模块的名称作为参数以便确定程序的根目录从而能够找到静态文件夹和模板文件夹。
只需为函数附加app.route()装饰器并传入URL规则做为参数我们就可以让URL和函数建立关联。这个过程我们称作注册路由。路由负责管理URL和函数之间的映射而这个函数则被称为视图函数。
1. 为视图绑定绑定多个URL
一个视图函数可以绑定多个URL。比如下面访问’/‘和访问’/hello’都会触发index函数得到相同响应。
app.route(/)
app.route(/hello)
def index():return h1Hello,Flask!h1/2. 动态URL
我们不仅可以为视图函数绑定多个URL还可以在URL规则中添加变量部分。 使用变量的形式。flask处理请求时会把变量传入视图函数我们可以添加参数获取这个变量值。如果用户访问的url中没有添加变量此时会返回一个404错误这时我们可以通过添加默认参数defaluts或者设置name的默认值来设置url变量的默认值以避免404错误。
app.route(/)
app.route(/hello/name, defaults{name: zly})
def index(namezly):return h1Hello,%s!h1/ % name二、启动开发服务器
flask内置了一个简单的开发服务器由依赖包Werkzeug提供足够在开发环境中使用。
flask run # 启动开发服务器1. 自动发现程序实例
启动开发服务器后flask可以自动探测程序实例自动探测以下规则
从当前目录寻找app.py和wsgi.py模块并从中寻找app或application的程序实例。从环境变量FLASK_APP对应的模块/导入路径寻找名为app或application的程序实例。
2. 管理环境变量
如果安装了python-dotenv模块那么在使用flask run 或其它命令时它自动从.flaskenv文件和.env文件中加载环境变量。 优先级 手动设置的环境变量.env文件.flaskenv文件 在.env文件中添加:
FLASK_RUN_HOST0.0.0.0
FLASK_RUN_PORT80003. 使用pycharm运行服务器
在pycharm中我们可以使用内置的命令行串口执行命令来启动开发服务器也可以使用pycharm内置的运行功能。 按如上进行配置即可。
4. 更多的启动选项
使服务器外部可见
flask run --host0.0.0.0添加–host选项将主机地址设置为0.0.0.0使其对外可见。
改变默认端口
flask run --port8000flask提供的服务器默认监听5000端口可通过传入port参数来改变监听端口。 可通过在环境配置文件中设置FLASK_RUN_HOST与FLASK_RUN_PORT来配置。
5. 设置运行环境
开发环境时指我们在本地编写和测试程序时的计算机环境而生产环境是指网站部署上线供用户访问时的服务器环境。为了区分运行环境Flask提供了一个FLASK_ENV的环境变量用来设置环境默认为production生产环境。可以将其改为development开发环境这会开启所有支持开发的特性。同时可以通过FLASK_DEBUG来配置调试模式1为开启0为关闭。 在.flaskenv文件中写入:
FLASK_ENVdevelopment
FLASK_DEBUG1在开发环境、调试模式下这时执行flask run 启动程序会自动激活werkzeug内置的调试器以及重载器。
6. 调试器
调试器允许你在错误页面上执行Python代码。单击错误信息右侧的命令行图表会弹出窗口要求输入PIN码就是启动服务器时输出的PIN码输入PIN码后会有一个包含代码上下文信息的shell我们可以利用他来调试。
7. 重载器
当我们对代码进行改动之后期望的行为就是这些改动立刻作用到程序上。重载器的作用就是监测文件变动然后重新启动服务器。 默认会使用werkzeug内置的stat重载器。他的缺点是耗电严重准确率低。推荐使用Python库Watchdog安装后会自动使用它来监测文件变动。
pipenv install watchdog --dev # --dev的作用是声明为开发依赖如果有单独的css或js文件需要按下F5进行刷新才可。