Python瓶法定义

2024-05-10 01:11:46 发布

您现在位置:Python中文网/ 问答频道 /正文

当使用Flask时,是否必须将所有方法定义都放在一个文件中,因为我试图在另一个文件中移动一些方法定义,但404没有发现错误。在


Tags: 文件方法flask定义
3条回答

正如Flask中建议的,您可以使用Blueprint来进行更大的应用程序。我喜欢创建模块化应用程序的方法,这种方法不需要太多的耦合。所以你要做你的蓝图,大部分都有应用程序功能,比如路由或在请求之前。在

simple_page = Blueprint('simple',__name__,template_folder='templates')
@simple_page.route('/', defaults={'page': 'index'})
@simple_page.route('/<page>')
def show(page):
    try:
        return render_template('pages/%s.html' % page)
    except TemplateNotFound:
        abort(404)

然后注册:

^{pr2}$

关于蓝图的一些要点:

  • 蓝图不是应用程序,不要指望它们会这样。在
  • 蓝图可以定义自己的模板文件夹,这对你很有用 可以指定模板,并按每个蓝图的文件夹模块订购你的应用程序。在
  • 在尝试获取 资源:

    烧瓶应用程序('.index')\

    蓝图的url_('.index')\

  • Blueprint是一个相当新的解决方案,在撰写本文时,这个答案是模块化应用的最佳解决方案,在多个文件夹中共享同一个烧瓶对象amos所有的应用程序。

只要该文件引用了您创建的Flask对象,就可以将声明移动到其他文件中,但是如果您的应用程序变得足够大,您可能应该开始研究Flask Blueprints

您不必在一个文件中定义所有内容。在一个更大的应用程序中这将是非常糟糕的:)阅读official short doc并查看其中的建议(其中包括前面的答案中提到的蓝图,这是组织大型应用程序的好方法)。在

还有一个很好的sample app如何组织和创建更大的应用程序。可能也有帮助;)

而其他方法、类和所有不是特定于Flask的都只是简单的Python,所以也不需要将它们放在一个文件中。在

相关问题 更多 >