在官方的快速入门中,建议__name__
在使用单个 模块 时使用:
2.
…如果您使用的是单个模块(如本例所示),则应使用,__name__
因为取决于它是作为应用程序启动还是作为模块导入,其名称将有所不同('__main__'
与实际导入名称不同)。…
但是,在他们的API文档中,当我的应用程序为 软件包 时,建议进行硬编码:
因此,您在此处提供的内容很重要。如果使用单个模块,
__name__
则始终为正确的值。但是,如果您使用的是包,通常建议在其中硬编码包的名称。
我能理解为什么硬编码包名更好,但是为什么不硬编码单个模块名呢?或者,换句话说,Flask
当它收到__main__
第一个参数时可以得到什么信息?我看不到这如何使Flask更容易找到资源…
__name__
只是获取应用定义位置的导入名称的便捷html" target="_blank">方法。Flask使用导入名称来知道在哪里查找资源,模板,静态文件,实例文件夹等。使用包时,如果在其中定义应用程序,__init__.py
则__name__
仍然会指向相对于资源所在的“正确”位置是。但是,如果您在其他地方定义它(例如)mypackage/app.py
,则using__name__
将告诉Flask寻找相对于mypackage.app
而不是的资源mypackage
。
使用__name__
与“硬编码”不正交,它只是使用包名称的捷径。而且也没有理由说名称 应该 是基本包,这完全取决于您的项目结构。
Flask-Application是专门给Flask提供项目初始化的工具,通过该工具可以快速地创建一个Flask的初始项目/应用。新创建的项目/应用会包含良好的目录结构和基础的项目配置信息,无需再通过手工的方式创建这些基础目录和文件。 安装 pip install Flask-Application 快速开始 flask-app startproject demo_pjcd demo_pjpyth
问题内容: 这两个主要区别是在可用性和功能方面 如果您已经有大量的模型类,那么使用flask-restLESS非常合理,对吗?如果仅靠flask操作,它将缺少哪些功能。 问题答案: 虽然我确信Flask-RESTful和Flask-RESTless之间将会有很大的重叠,但据我所知,这是方向上的差异: Flask-RESTful旨在成为通用的,它是“可与现有ORM /库一起使用的轻量级抽象”。你的资
在前面,我们介绍了 REST Web 服务,并使用 Flask 提供服务。这里,我们使用第三方库 Flask-RESTful,它使得在 Flask 中提供 REST 服务变得更加简单。 安装 使用 pip 安装: $ pip install flask-restful 使用 下面我们主要使用官方文档的例子进行说明。 Hello World 我们先来看一个简单的例子。 # -*- coding: u
Bootstrap 是 Twitter 开源的一个 CSS/HTML 框架,它让 Web 开发变得更加迅速,简单。要想在我们的 Flask 应用中使用 Boostrap,有两种方案可供选择: 第 1 种,在我们的 Jinja 模板中直接引入 Bootstrap 层叠样式表 (CSS) 和 JavaScript 文件,比如 bootstrap.min.css,bootstrap.min.js; 第
在 Web 应用中,我们经常需要保护我们的 api,以避免非法访问。比如,只允许登录成功的用户发表评论等。Flask-HTTPAuth 扩展可以很好地对 HTTP 的请求进行认证,不依赖于 Cookie 和 Session。本文主要介绍两种认证的方式:基于密码和基于令牌 (token)。 安装 使用 pip 安装: $ pip install Flask-HTTPAuth 基于密码的认证 为了简化
假设你的 Web 服务对于某些请求比较耗时,而该请求的返回结果在较短的时间内(比如 5 分钟内)都是足够有效的,这时你能想到什么方法去改善这种状况呢?缓存?对,至少这是一种提高性能的最简单的方法。 Flask 本身不提供缓存功能,但是作为 Flask 核心的 Werkzeug 框架则提供了一个简单的缓存对象 SimpleCache,它将缓存项存放在 Python 解释器的内存中。使用 Simple