1、Flask初探-快速入门

本文介绍了Flask的基本结构,包括最小应用的创建、调试模式的启用、路由绑定、变量规则的设定、URL重定向和如何构造URL。还讨论了使用Flask-Script支持命令行选项,特别提醒调试模式不应用于生产环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、一个最小的应用窥探flask基本结构

from flask import Flask #从flask中导入Flask
app = Flask(__name__) 创建一个实例

@app.route('/') #装饰器、设置路由,需要写在函数前面
def hello_world():  #定理一个方法(无参数)
    return 'Hello World!'   #返回字符串
    #当浏览器访问时,将字符串返回到浏览器页面

if __name__ == '__main__':#判断是不是启动文件
#确保服务器只会在该脚本被 Python解释器直接执行
的时候才会运行,而不是作为模块导入的时候。
    app.run() #运行

可以看出app.run()中没有传递参数,实质上里面是个默认参数
app.run(host =’127.0.0.1’)代表本机。

还有以下集中设置方法
app.run(host='0,0,0,0') #代表外部网络可ui访问的公共的
app.run(host='127.0.0.1')#代表本机

二、调试模式

你启用了调试支持,服务器会在代码修改后自动重新载入,
并在发生错误时提供一个相当有用的调试器。
有两种途径来启用调试模式。

#第一种
再app实例化后调用
app.debug = True
#第二种
作为 run 方法的一个参数传入:
app.run(debug=True)

注意:绝对不能用于生产环境

三、路由

route() 装饰器把一个函数绑定到对应的 URL 上

#超级超级基础的演示示例

@app.route('/')
def index():
    return 'Index Page'

@app.route('/hello')
def hello():
    return 'Hello World'

/route()里面的东西就是匹配的内容

四、变量规则

·要给 URL 添加变量部分

·你可以把这些特殊的字段标记为

### 第一种,简简单单接收再返回个变量
@app.route('/user/<username>')
def show(username):
    return 'User %s' % username

### 第二种,简简单单接收再返回个带类型的参数
@app.route('/post/<int:post_id>')
def show_post(post_id):
    return 'Post %d' % post_id

当然,还有下面几种设置类型的参数

类型名称功能
int可接收整数
float可接受浮点数
path默认、也可接受斜线

五、解决问题的唯一URL重定向

@app.route(‘/projects/’)里面的内容必须双斜线!!!

六、自己构造URL

### 假装有个写好的方法

@app.route('/user/<name>')
def showUserName(name):
    return 'User %s' %name


### 魔术开始,构建URL    
@app.route('/redir/<n>')
def redir(n):
    return redirect(url_for('showUserName',name=n))

它接受函数名作为第一个参数,也接受对应
URL 规则的变量部分的命名参数。

七、使用Flask-Script支持命令行选项

Flask-Script 扩展使用
pip 安装:

(venv) $ pip install flask-script
(注意venv,确保实在虚拟环境下)

### 关键代码
from flask_script import Manager
### 导入flask_script包
manager = Manager(app)
实例化manager

这样修改完,可以调整一下运行代码
if __name__ == '__main__':
manager.run()

手动debug升级为自动

命令:
python hello.py runserver -d -r --host 0.0.0.0
###  -d  debug 设置为debug模式,而不是run模式
###  -r reload 设置自动重新载入(app.debug为True)

  • Thanks for reading! *

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值