python - Django 可以使用 "external"python 脚本链接到其他库(NumPy,RPy2 ...)

标签 python mysql django

我是 IT 业务(严肃的)开发领域的新手,但我心中有一个商业理念,并且仍在努力具体化整体基础架构的工作方式。

我已经做了一些研究来寻找一种好的技术来提供解决方案。我非常倾向于在服务器端使用 Python、MySql、Django (Apache),在客户端使用一些 RIA(可能是 Flex),因为我需要一些高级可视化功能(尤其是在看过 FLARE 项目之后)。

该应用程序需要在数值/统计方面进行一些“提升”,将 R 与 Python (RPy2) + 其他类似 NumPy 集成似乎是理想的选择。

到目前为止我无法做到的事情(当然是因为我是新手)如下:

Django 能否(以一种或另一种方式)执行包含对额外库(NumPy ...)的引用的(外部)python 脚本/程序?

例如:用户触发一个 Action 来执行统计分析,Django 收到请求并应该运行一些 python 代码(使用 R、NumPy...),它使用数据库中的数据并将结果存储回数据库中。 Django 访问数据库数据并将其发送回客户端应用程序以进行显示。

这是正确的逻辑还是我完全偏离了正轨?

非常感谢您的专业知识。

最佳答案

Django 是一个 Python 程序。并且像任何其他 Python 程序一样,它将能够访问其他 Python 脚本/模块。接下来的问题是如何执行脚本。如果您的脚本显式定义了 main(或另一个起点)函数,那么您只需像导入模块一样导入它并调用 main

例如:

# my custom script. Located in my_script.py
# lots of functions

def main():
    # call functions in sequence.

# my django view.
from myscript import main as script_main
script_main()

如果您更愿意像从命令行一样执行,那么请查看 subprocess模块。如果你想异步运行它,那么类似 Celery 的东西可能是你要找的。

关于python - Django 可以使用 "external"python 脚本链接到其他库(NumPy,RPy2 ...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3776515/

相关文章:

php - 在mysql中查找关系

python - 使用 ListView 的 Django 反向排序

python - 使用查询集 Model.objects.aggregate(Sum(***)) 对数据库列的所有值求和

django - models.py(Django/Python)中的声明顺序是否重要?

javascript - python + REST 上的 GAE,插入/更新 db.ListProperty(users.User)

mysql - 如何在 MySql docker 镜像中安装 sudo 和 nano 命令

python - 我们可以将仅包含函数定义的Python文件称为脚本吗?

MySQL 按逗号分隔列表排序

python - 在 peewee 模型中动态定义字段

python - 用户调整 PyQt 小部件的大小