当前位置: 首页 > 面试题库 >

在应用工厂中创建Flask扩展名时将其导入

栾英资
2023-03-14
问题内容

我想在应用程序的不同模块中使用Flask-
Perm的装饰器。我正在使用应用程序工厂模式。如果在工厂中创建扩展名,则无法导入该扩展名以在其他模块中使用。使用应用程序工厂时如何导入扩展?

from flask_perm import Perm

def create_app():
    app = Flask(__name__)
    perm = Perm(app)
    return app

问题答案:

Flask-Perm的文档在顶部显示了如何执行此操作。

在工厂外创建扩展名。在工厂内部初始化扩展。每个支持应用程序工厂的Flask扩展都使用此模式。

perm = Perm()

def create_app():
    app = Flask(__name__)
    perm.init_app(app)
    return app

现在,您可以from myproject import perm在需要访问它的任何地方使用它。



 类似资料:
  • 问题内容: 我正在使用应用程序工厂模式来设置我的Flask应用程序。我的应用程序使用Flask- Babel扩展程序,该扩展程序也在工厂中设置。但是,我想以蓝图的形式访问该扩展程序以便使用它, 工厂在。 我想添加以下内容: 不幸的是,无法从应用程序工厂访问变量。我应该如何解决这个问题? 问题答案: 正是这种情况下,Flask扩展被设计为无需应用程序实例即可实例化。在工厂外,定义扩展。在工厂内部,致

  • 问题内容: 我正在学习Flask,并且对如何构造代码有些困惑。因此,我尝试如下扩展Flask主类: 这样,当我想启动应用程序时,我可以执行以下操作: 这样,我可以在类中对方法和路由进行排序,但是问题是使用自装饰器时: 引发错误为unresolved reference ‘route’。我想这不是我应该构建应用程序的方式。我应该怎么做,或者如何解决错误? 问题答案: 这样做是没有意义的。你将创建子类

  • Flask通常被称为微框架,因为核心功能包括基于Werkzeug的WSGI和路由以及基于Jinja2的模板引擎。 此外,Flask框架还支持cookie和会话以及Web助手,如JSON,静态文件等。显然,这对于开发完整的Web应用程序来说还不够。 这是为什么还要Flask扩展插件。 Flask扩展为Flask框架提供了可扩展性。 Flask有大量的扩展可用。 Flask扩展是一个Python模块,

  • Flask 扩展用多种不同的方式扩充 Flask 的功能。比如加入数据库支持和其它的 常见任务。 寻找扩展 Flask Extension Registry 中列出了 Flask 扩展,并且可以通过 easy_install 或 pip 下载。如果你把一个 Flask 扩展添加到 requirements.rst 或 setup.py 文件的依赖关系中,它们通常可以用一个 简单的命令或是在你应用安

  • 问题内容: 当我连接到我的站点时,出现以下错误: RuntimeError:会话不可用,因为未设置任何秘密密钥。将应用程序上的secret_key设置为唯一且秘密的内容。 下面是我的服务器代码。 如您所见,我确实设置了应用密钥。我究竟做错了什么? 还有其他会话选项吗? 其他信息:在Linux Mint上运行Python 2.7 全贴: 问题答案: 在你的情况下,会话实现会引发异常,这是使用Flas

  • 问题内容: 我的目标是为正在创建的程序创建一个新的文件扩展名(可能不止一个)。因此,在四处浏览后,我发现了以下有关该主题的大量资源,以防万一有人想看一下它们并获得我一直在看的内容的大致思路。 http://support.microsoft.com/?scid=kb%3Ben- us%3B185453&x=6&y=11 http://www.rgagnon.com/javadetails/java

  • 所以我有两个集成测试类。我正在使用flyway测试扩展重置db。当我从IntelliJ单独运行测试类时,两个都通过了。然而,当我使用mvn clean install或在IntelliJ all test中一起运行它们时,TestClass2会出现异常并失败。 创建名为“flywayInitializer”的bean时出错,该bean在类路径资源[org/springframework/boot/

  • 问题内容: 现在,我正在使用烧瓶第3方库Flask-Session,但没有运气可以正常工作。 当我连接到我的站点时,出现以下错误: RuntimeError:会话不可用,因为未设置任何秘密密钥。将应用程序上的secret_key设置为唯一且秘密的内容。 下面是我的服务器代码。 如您所见,我确实设置了应用密钥。我究竟做错了什么? 还有其他会话选项吗? 其他信息:在Linux Mint上运行Pytho