flask 基本应用,调试,路由以及模板

最基本的应用

一个最基本的Flask的应用就是这个样子,然后

from flask import Flask
app = Flask(__name__)

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

if __name__ == '__main__':
    app.run()
调试模式

调试模式

虽然 run() 方法适用于启动本地的开发服务器,但是你每次修改代码后都要手动重启它。这样并不够优雅,而且 Flask 可以做到更好。如果你启用了调试支持,服务器会在代码修改后自动重新载入,并在发生错误时提供一个相当有用的调试器。

 

有两种途径来启用调试模式。一种是直接在应用对象上设置:

 

app.debug = True

app.run()

另一种是作为 run 方法的一个参数传入

app.run(debug=True)

路由

Route()的装饰器会把一个函数绑定到URL,URL就是他的参数

上个例子


还可以动态绑定


Flask视图函数的默认HTTP返回码是200,是作为第二个返回值.如果返回值作为400状态吗,请求就是无效的.

然后还可以返回第三个参数,这是一个由首部(header)组成的字典,可以加到HTTP的相应中去.make_response()函数可以接受1,2,3个参数,然后返回一个Response对象.比如设置一个cookie:


重定向和特殊的相应

当重定向的时候,指向的Location首部提供,重定向相应可以使用3个值形式的返.回值生成,也可在Response对象中设定,如果频繁使用就可以使用redirect()辅助函数,用于生成这种相应:


模板

用 Python 生成 HTML十分无趣,而且相当繁琐,因为你必须手动对 HTML 做转义来保证应用的安全。为此,Flask 配备了 Jinja2 模板引擎。

Flask 会在 templates文件夹里寻找模板。所以,如果你的应用是个模块,这个文件夹应该与模块同级;如果它是一个包,那么这个文件夹作为包的子目录:

这两种情况都可以

 

情况 1: 模块:

 

/application.py

/templates

    /hello.html

情况 2: 包:

 

/application

    /__init__.py

    /templates

        /hello.html

举个例子 , 写好了 index.html user.html 之后



render_template函数把jinja2模板中的引擎集成到程序中,其中的第一个参数是模板名,后面的参数都是键值对形式,name1 = name中的,左边的表示模板中使用的占位符,name是当前作用域中的变量,表示参数的值.

在使用的过程中可以是使用过滤器标志为安全的,浏览器能显示但是不解释.

 * safe 过滤器在模板中把它标记为安全的 *

模板的继承

模板继承允许你创建一个基础的骨架模板,这个模板包含您网站的通用元素,并且定义子模板可以重载的 blocks 。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值