2024-05-10 01:11:46 发布
网友
当使用Flask时,是否必须将所有方法定义都放在一个文件中,因为我试图在另一个文件中移动一些方法定义,但404没有发现错误。在
正如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)
然后注册:
关于蓝图的一些要点:
在尝试获取 资源:
烧瓶应用程序('.index')\
蓝图的url_('.index')\
Blueprint是一个相当新的解决方案,在撰写本文时,这个答案是模块化应用的最佳解决方案,在多个文件夹中共享同一个烧瓶对象amos所有的应用程序。
只要该文件引用了您创建的Flask对象,就可以将声明移动到其他文件中,但是如果您的应用程序变得足够大,您可能应该开始研究Flask Blueprints
Flask
您不必在一个文件中定义所有内容。在一个更大的应用程序中这将是非常糟糕的:)阅读official short doc并查看其中的建议(其中包括前面的答案中提到的蓝图,这是组织大型应用程序的好方法)。在
还有一个很好的sample app如何组织和创建更大的应用程序。可能也有帮助;)
而其他方法、类和所有不是特定于Flask的都只是简单的Python,所以也不需要将它们放在一个文件中。在
正如Flask中建议的,您可以使用Blueprint来进行更大的应用程序。我喜欢创建模块化应用程序的方法,这种方法不需要太多的耦合。所以你要做你的蓝图,大部分都有应用程序功能,比如路由或在请求之前。在
然后注册:
^{pr2}$关于蓝图的一些要点:
在尝试获取 资源:
烧瓶应用程序('.index')\
蓝图的url_('.index')\
Blueprint是一个相当新的解决方案,在撰写本文时,这个答案是模块化应用的最佳解决方案,在多个文件夹中共享同一个烧瓶对象amos所有的应用程序。
只要该文件引用了您创建的
Flask
对象,就可以将声明移动到其他文件中,但是如果您的应用程序变得足够大,您可能应该开始研究Flask Blueprints您不必在一个文件中定义所有内容。在一个更大的应用程序中这将是非常糟糕的:)阅读official short doc并查看其中的建议(其中包括前面的答案中提到的蓝图,这是组织大型应用程序的好方法)。在
还有一个很好的sample app如何组织和创建更大的应用程序。可能也有帮助;)
而其他方法、类和所有不是特定于Flask的都只是简单的Python,所以也不需要将它们放在一个文件中。在
相关问题 更多 >
编程相关推荐