如果你已经在应用中使用了包和蓝图( 用蓝图实现模块化应用 ),那么还有许多方法可以更
进一步地改进你的应用。常用的方案是导入蓝图后创建应用对象,但是如果在一个函数中
创建对象,那么就可以创建多个实例。
那么这样做有什么用呢?
用于测试。...
AI君
3年前 (2019-03-27) 151℃
0喜欢
应用调度是在 WSGI 层面组合多个 WSGI 应用的过程。可以组合多个 Flask 应用,也可以
组合 Flask 应用和其他 WSGI 应用。通过这种组合,如果有必要的话,甚至可以在同一个
解释器中一边运行 Django ,一边运行 ...
AI君
3年前 (2019-03-27) 148℃
0喜欢
有一些东西是大多数网络应用都会用到的。比如许多应用都会使用关系型数据库和用户
验证,在请求之前连接数据库并得到当前登录用户的信息,在请求之后关闭数据库连接。
更多用户贡献的代码片断和方案参见 Flask 代码片断归档 。
大型应用
...
AI君
3年前 (2019-03-27) 140℃
0喜欢
对于大型应用来说使用包代替模块是一个好主意。使用包非常简单。假设有一个小应用如下:
/yourapplication
/yourapplication.py
/static
/style.css
...
AI君
3年前 (2019-03-27) 158℃
0喜欢
New in version 0.3.
Python 拥有的交互式 Shell 是人人都喜欢它的一个重要原因。交互式 Shell 允许你实时的运行 Python 命令并且立即得到反馈结果。Flask 本身并未内置一个交互式 Shell...
AI君
3年前 (2019-03-27) 219℃
0喜欢
New in version 0.7.
Flask 使用了 蓝图 的概念在一个应用或者跨应用中构建应用组件以及支持通用模式。 蓝图很好地简化了大型应用工作的方式,并提供给 Flask 扩展在应用上注册操作的核心方法。 一个 Bluep...
AI君
3年前 (2019-03-27) 167℃
0喜欢
Flask 扩展多方面地扩充了 Flask 功能。例如它们添加了数据库支持以及其它常见任务。
查找扩展¶
Flask 扩展被列出在 Flask Extension Registry 上并且能够用 easy_install 或者 pip ...
AI君
3年前 (2019-03-27) 188℃
0喜欢
这部分文档描述了在 Flask 0.7 中的行为,与旧的行为基本一致,但有细小微妙的差异。
强烈建议先阅读 应用上下文 。
深入与上下文本地变量¶
比如说你有一个应用函数返回用户应该跳转到的 URL 。想象它总是会跳转到 URL 的 n...
AI君
3年前 (2019-03-27) 151℃
0喜欢
New in version 0.9.
Flask 背后的一个设计理念是在代码执行的时候存在两种不同的”状态”。应用隐式地处于模块层时配置状态。
这始于 Flask 对象实例化,并且当第一个请求传入时,会隐式地结束。当应用处于这种状态...
AI君
3年前 (2019-03-27) 150℃
0喜欢
New in version 0.7.
Flask 0.7 引入了插拨式视图,启发是来自于 Django 的基于类而不是函数的通用视图。
主要的意图是你可以替换部分的实现并且这种方式定制插拨式视图。
基本规则¶
假设你有一个从数据库...
AI君
3年前 (2019-03-27) 213℃
0喜欢
New in version 0.3.
应用程序需要某种形式的配置。你可能会需要根据应用环境更改不同的设置,比如开关调试模式、
设置密钥、或是别的设定环境的东西。
Flask 被设计为需要配置来启动应用。你可以在代码中硬编码配置,这对...
AI君
3年前 (2019-03-27) 181℃
0喜欢
New in version 0.6.
从 Flask 0.6 开始,Flask 中集成支持信号。这种支持是由优秀的 blinker 库提供,并且当它不可用时会优雅地退回。
信号是什么?信号通过在核心框架的其它地方或 Flask 扩展...
AI君
3年前 (2019-03-27) 195℃
0喜欢
未经测试的东西是不完整的
这句话的起源是未知的而且不完全正确,但是它离真理也不远了。未经测试的应用程序使其难以改善
现有的代码和未经测试的应用程序的开发人员往往会变得相当偏执。如果应用程序有自动测试,
您可以放心地进行更改并立即知道是...
AI君
3年前 (2019-03-27) 278℃
0喜欢
New in version 0.3.
应用程序会失败,服务器会失败。迟早你会看到在生产模式中的一个异常。即使你的代码是 100% 正确,
你仍然将会不时地看到异常。为什么?因为涉及的所有一切都会出现异常。这里是一些完美代码会导致服务...
AI君
3年前 (2019-03-27) 152℃
0喜欢
Flask 利用 Jinja2 的模板引擎。当然你是自由地使用不同的模版引擎,但是你仍然必须安装 Jinja2 为了运行
Flask 本身。这个要求是必要的,为了丰富的扩展可用。所有的扩展是依赖于 Jinja2 的存在。
本节仅仅给出一个 ...
AI君
3年前 (2019-03-27) 173℃
0喜欢
现在其他一切都正常工作,是时候给应用添加些样式。只要在我们之前创建的 static 文件夹中新建一个称为
style.css 的样式表:
body { font-family: sans-serif; backg...
AI君
3年前 (2019-03-27) 158℃
0喜欢
现在你已经完成应用且一切按预期工作,为了简化未来的修改添加些自动化测试并不是一个坏主意。
上面的应用是作为测试 测试 Flask 应用 文档一节中的例子来演示如何进行单元测试。
去看看测试 Flask 应用是多么简单的一件事。
转载请注明...
AI君
3年前 (2019-03-27) 141℃
0喜欢
现在我们应该开始编写模版。如果我们现在请求 URLs,我们将会得到一个 Flask 无法找到模版的异常。
模版使用 Jinja2 语言以及默认开启自动转义。这就意味着除非你使用 Markup 标记或在模板中使用 |safe 过滤器,
否则...
AI君
3年前 (2019-03-27) 148℃
0喜欢
现在数据库连接已经工作我们可以开始编写视图函数。我们需要四个视图函数:
显示条目¶
这个视图显示所有存储在数据库中的条目。它监听者应用的根地址以及将会从数据库中查询标题和内容。
id值最大的条目(最新的条目)将在最前面。从游标返回的行是...
AI君
3年前 (2019-03-27) 159℃
0喜欢
如前面所述,Flaskr 是一个数据库驱动的应用程序,准确地来说,Flaskr 是一个使用关系数据库系统的应用程序。
这样的系统需要一个模式告诉它们如何存储信息。因此在首次启动服务器之前,创建数据库模式是很重要的。
可以通过管道把 sch...
AI君
3年前 (2019-03-27) 145℃
0喜欢