gpt4 book ai didi

python - Python 中的包和模块,用于使用 Flask 创建 Web 应用程序

转载 作者:太空宇宙 更新时间:2023-11-04 01:29:47 25 4
gpt4 key购买 nike

目前,我正在为一家公司编写 Web 界面。

本网页界面基于python微框架Flask。我想用MVC原理来构建这个界面。我心里有一些问题。

在 SQLAlchemy 的帮助下,模型将包含用于 ORM 映射的数据,这没问题。
View 基于一些 html 和 css,我认为这里也不会有问题。

另一方面, Controller 有点笨重。
我想将页面分成模块,将脚本应用程序分成单独的模块,并将所有这些模块打包到一个 Controller 包中,例如:

  • session 模块(登录/注销/Cookie)
  • 管理员模块(管理注册帐户/内容/等)
  • 应用程序脚本 1 模块
  • 应用程序脚本 2 模块
  • 应用程序脚本 3 模块

我知道要呈现模板,您需要使用路由等。但是我该如何做到,如果调用某个链接,它将调用特定模块并从那里提取方法。是否可以为路由创建一个主 Controller 并为路由中的每个方法导入上面的模块之一?

@app.route('/')
def index():
return render_template("index.html")

@app.route('/login/', methods = ('GET', 'POST'))
def login():
from session import login
-> call method from 'login' here

@app.route('/account/<username>', methods = ('GET', 'POST'))
def login():
from administrator import view_account
-> call method from 'view_account' here

这是一个好的做法吗?或者我应该从标题开始并导入我在这个包中的每个模块。我的第一个想法是防止应用程序由于脚本的大小而加载很长时间,只有在访问需要该模块的页面或类似情况时才会调用特定模块。

最佳答案

如果我答对了你的问题,那么你肯定想使用蓝图 :) 在 documentation 中阅读更多内容

基本上,这就是如何在没有一个 Controller 的情况下使 Flask 应用程序模块化的方法,所有可能的模块都导入那里或其他一些技巧。

在这里你可以找到一个 example of application它使用蓝图。

关于python - Python 中的包和模块,用于使用 Flask 创建 Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14699450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com